Pngcrush est un optimiseur de fichiers PNG (Portable Network Graphics). Il peut être exécuté en ligne de commande depuis une fenêtre MS-DOS, ou en ligne de commande depuis un système UNIX ou Linux.
Son objectif principal est de réduire la taille du flux de données PNG IDAT en essayant différents niveaux de compression et méthodes de filtrage PNG. Il peut également être utilisé pour enlever des morceaux auxiliaires indésirables ou ajouter certains fragments de fichier dont gAMA, tRNS, iCCP , et d'autres informations textuelles.
Pngcrush n'est pas affecté par le bogue zlib-1.1.3 "double-free" lorsque il est lié statiquement au code zlib fourni, puisque par défaut il détecte et rejette toute tentative "double-free". Il génère simplement un message "Erreur de décompression" et rejette le fichier.
Pngcrush est un outil open source et peut être utilisé, modifié et redistribué par n'importe qui sans payer de frais. La licence, qui est intégré dans le fichier pngcrush.c, est équivalente mais non identique à la licence libpng trouvé dans le fichier libpng png.h.
Le code source de pngcrush est disponible ici . et les exécutables binaires, compilés par des bénévoles tiers et pas toujours à jour, sont disponibles ici . Pngcrush utilise libpng et zlib, qui sont tous deux inclus dans la distribution source de pngcrush. Ils sont légèrement modifiés:
Si vous préférez, vous pouvez compiler seulement pngcrush.c à partir de la distribution source pngcrush et l'exécuter avec les bibliothèques standards libpng et zlib, qui se trouvent sur le site web PNG, www.libpng.org/pub/png/ . Si vous faites cela, pngcrush.h ne sera pas inclus, et:
ce qui peut entraîner des fichiers légèrement plus volumineux et une exécution légèrement plus rapide.
Des binaires précompilés pour Windows (fonctionnent dans la fenêtre MS-DOS, compilés avec DJGPP) et les plates-formes RISC OS (qui peuvent ne plus être à jour) sont disponibles ici
Un projet basé sur pngcrush existe, développé par Cosmin Truta, avec un ensemble de fonctionnalités et un espace de recherche légèrement différents. Voir http://www.cs.toronto.edu/~cosmin/pngtech/optipng/"
Pngcrush est une application en ligne de commande. Si vous préférez une interface graphique gérant le glisser-déposer, plusieurs sont disponibles, y compris certains qui intègrent pngcrush avec d'autres compresseurs/optimiseurs d'images en ligne de commande: