User:Wildgoosespeeder/PNG Monstrous

From the Super Mario Wiki, the Mario encyclopedia
Jump to navigationJump to search
Warning.svg
ATTENTION EDITORS If you are moving files that this page links to, you have my permission to ask a sysop to change the link. If you are replacing images that this page links to instead, please leave me a message to give me a heads-up. Thank you! Wildgoosespeeder (talk) (Stats - Contribs)
PNG Monstrous
PNG Monstrous.png
Developer Wildgoosespeeder (talk)
Publisher GitHub
Platform(s) Microsoft Windows
Release date USA July 10, 2016
Genre Utility

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 pngout 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. Paper Mario thinking in Paper Mario.

Benefits for MarioWiki

Optimizing PNGs benefits MarioWiki in three ways:

  • Reduces storage space required, which is a plus for Porplemontage (talk), 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.

Converting to high quality

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.[1] 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.[2] 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.

What are PNGs?

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

PM All or Nothing Badge.png 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

  • zopflipng added.
  • Check/uncheck optimizers to speed up optimization time.
    • pngrewrite
    • pngcrush
    • optipngconsole
    • advpng
    • pngoutRawsigcheckbox.png
    • zopflipngRawsigcheckbox.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.

Alternate

If you don't want to use the dated GUI, create a batch file and save it in the same directory as the optimizer EXEs. Place the PNGs in the same directory as the batch file. You'll get to see the output of the programs. You can also add or remove optimizers just by tweaking the script by copying the line that runs the for loop and replacing the optimizer name with a different optimizer name.

cls
date /T & time /T
For /R %%G IN (*.png) do zopflipng -y "%%G" "%%G"
date /T & time /T
For /R %%G IN (*.png) do pngout /y /kt /d0 /s0 /k0 "%%G"
date /T & time /T
pause

Bugfixes

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

Download

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

ZIP file on GitHub:
PNG Monstrous

Mac Users

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

Linux Users

Trimage

References