Crushing PNGs in .NET

Updated on Thursday, May 13, 2021

Crushing PNGs in .NET

I'm working on page speed and Google PageSpeed Insights is telling me that my PNGs are just way too large. Sadly .NET does not provide any way to optimize PNG images so there is no easy fix - just unmanaged libraries and command line tools.

I have an allergy to manual processes so I've lashed up some code to automatically find and optimize PNGs in my App_Data folder using PNGCRUSH. I can call CrushAllImages() to fix up everything or CrushImage() when I need to fix up a specific PNG. Code below:

(Related: Long term solar powered time lapse camera using Arduino; Capture DropCam (Nest Cam) frames to Google Drive; Style Transfer for Time Lapse Photography)

(You might also like: Global Temperature Anomalies Animation, 1850 to 2018; Average Beach; Coronavirus Hikes: June 2020)

(All Code Posts)