User:Wildgoosespeeder/PNG Monstrous

PNG Monstrous (accidently misspelled "Monsterous" at run time) is an unofficial update for PNG Monster that gives it a few extra features while retaining all the original features and functionality. It contains the latest version of for good measure. Yes, I still have a working version of Visual Basic 6.0 Enterprise Edition to make this revision thanks to the included source code of the PNG Monster download.

Benefits for MarioWiki
Optimizing PNGs benefits MarioWiki in three ways:
 * Reduces storage space required, which is a plus for, the owner of MarioWiki.
 * Faster page load times.
 * It's more considerate to people using slow or metered connections accessing MarioWiki.

Misconceptions
These misconceptions extend to PNG Monster as well.

PNG Monstrous does not make PNGs higher quality. It just finds the smallest file size possible for a given image. If you supply a low quality image for PNG Monstrous, you will still get a low quality image out, just with a smaller file size. What is responsible for higher quality submissions is the use of emulators or other tools to obtain screenshots. Those have better file sizes than low quality submissions because of how clean the image capture was. The capture introduces higher quantities of color redundancy and reduced, but accurate, color counts. This generally compresses a lot better. Here's some clickable examples of files where clean capture reduced the space requirements significantly. Some of these images are the same dimensions as the lower quality images prior.

Another misconception is that PNG Monstrous compresses PNGs. By definition, PNGs are already compressed. PNG Monstrous just finds the minimum data needed to represent the image. To find how much space (in bytes) is required to store an image uncompressed, multiply the length and width together, and then multiply by 1 for 8-bit colors (256 colors), 2 for 16-bit colors (65,536 colors), or 3 for 24-bit colors (16,777,216 colors). Add 1 before multiplying by 1, 2, or 3 to include alpha channel data (transparency with 256 different values).

Qualifying Images
Per image optimization policy, it is generally best to use this utility with fan-generated content, such as, but not limited to, emulator screenshots, sprite rips, 3D model rips, and map rips, as long as it doesn't violate image use policy.

New Features

 * added.
 * Check/uncheck optimizers to speed up optimization time.
 * pngrewrite
 * pngcrush
 * optipngconsole
 * advpng
 * pngout[[File:Rawsigcheckbox.png]]
 * zopflipng[[File:Rawsigcheckbox.png]]
 * pngout and zopflipng are enabled by default while the other older optimizers are disabled by default.
 * The reason is that most of my tests indicate that these optimizers are all you will ever need, but for edge cases, you will get access to all optimizers.
 * This usually occurs with very dimensionally small images, such as sprites. Use all optimizers in this case. It won't take long to cycle through all of them.
 * pngrewrite check box can't be modified but the option is there for a future revision.
 * Log notes what optimizer is running.

Bugfixes

 * "Run-time error '6': Overflow" fixed. The original program was trying to divide by 0. Paper Mario Dizzy.png

Download
You will need Service Pack 6 for Visual Basic 6.0 to run this app. If you are running a supported, this should already be installed and ready to go so no need to download that. I LOVE Microsoft's efforts to retain compatibility!

ZIP file on GitHub: PNG Monstrous

Mac Users
If you run, try using ImageOptim instead. It has Zopflipng and (I think) pngout. Make sure that  is disabled to preserve colors.

Linux Users
Trimage