Få pngcrush för Mac OS X med eller utan Xcode

PNGcrush är ett bildoptimeringsverktyg vars primära funktion är att minska den totala filstorleken för PNG-bilderna på ett förlustfritt sätt. Det är ganska populärt bland utvecklare och designers lika, och även om det är buntat i vissa versioner av Linux från get-go, ingår det inte i OS X som standard utan att installera Xcode. Vi täcker fyra enkla sätt att få verktyget på Mac, med eller utan Xcode, och erbjuder också ett utmärkt gratis GUI-alternativ som kan vara mer lämpligt för många användare.

ImageOptim, den utmärkta pngcrush GUI Alternative

ImageOptim är ett allomfattande bildoptimeringsverktyg som också hänger med att integrera pngcrush inom dess kapacitet. Eftersom ImageOptim fungerar bortom png-filer och även hanterar jpg och gif har det länge varit vår övergripande rekommendation för komprimering och optimering av bilder från OS X:

  • Ta ImageOptim gratis från utvecklaren

ImageOptim är mycket effektiv och reducerar i genomsnitt en filstorlek på en bild förlustfritt mellan 15-35%. Det är också ett utmärkt verktyg för att snabbt radera EXIF-data från bildfiler, vilket görs samtidigt vid minskning av filstorlek:

De som inte är bekväma med kommandoraden bör hålla sig med ImageOptim eftersom det är så lätt att använda, stöder dra och släpp och batchbehandling, och är i grunden dumtålig. Ändå finns det också en kommandoradsversion av ImageOptim-CLI tillgänglig här, eller de som är bekväma med Terminal kan fortsätta och använda MacPorts eller Homebrew för att installera pngcrush utan ImageOptim.

Få pngcrush med Xcode

Om du har Xcode installerat i OS X, har du redan installerat pngcrush, det händer bara att bli begravd ganska djupt i Xcode App-paketet på följande plats:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush

Det är ganska ginormt, så om du planerar att använda pngcrush direkt kan du antingen lägga till det på din PATH direkt eller skapa ett alias för det i din .bash_profile:

alias pngcrush='/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush'

Att åka denna rutt kräver uppenbarligen installationen av Xcode, vilket är ganska stor, och om du inte är en iOS- eller Mac-utvecklare så är det lite överdriven bara för att få ett kommandorads pngcrush-verktyg, vilket betyder att MacPorts och Homebrew är bättre alternativ.

Installera pngcrush i OS X med MacPorts

ImageOptim och ImageOptimCLI gör det inte för dig, och du vill inte installera Xcode? Du kan få pngcrush genom MacPorts eller Homebrew också. Att ha MacPorts installerade i OS X är självklart en förutsättning, om du inte har det ännu kan du installera det via källan, ett enkelt paket eller svn direkt från utvecklarna.

sudo port install pngcrush

Installera pngcrush med Homebrew

För Homebrew-användare är det enkelt att installera pngcrush som vanligt:

brew install pngcrush

Självklart måste du installera Homebrew först, vilket enkelt görs genom att utföra följande kommando från terminalen:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Om du har problem med att installera Homebrew eller MacPorts har du förmodligen inte installerat kommandoradsverktyg nyligen. Gratis och tillgänglig från Apple kräver installation av Command Line Tools separat för inloggning av utvecklarcenter (fri sorten fungerar bra).

Använda pngcrush från kommandoraden

Oavsett om du har använt Homebrew, MacPorts eller ett Xcode-alias för att installera pngcrush, är verktyget detsamma, och det grundläggande formatet är som så:

pngcrush inputfile.png outputfile.png

Inmatningsfilen kommer inte att ändras, den kommer att dupliceras som utgångsfilen med ett annat namn som så:

pngcrush ~/Desktop/BloatedImage.png ~/Desktop/CompressedImage.png

pngcrush kommer att tillhandahålla en rapport om komprimeringen, som visar total minskning av filstorleken och hur mycket CPU som användes i processen:

Best pngcrush method = 10 (fm 5 zl 9 zs 1) for /Users/OSXDaily/Desktop/PngCrushTest.png
(29.90% IDAT reduction)
(25.23% filesize reduction)
CPU time used = 0.249 seconds (decoding 0.024,
encoding 0.217, other 0.008 seconds)

Liksom ImageOptim är det mycket effektivt att minska filstorleken för PNG-dokument:

Till skillnad från ImageOptim fungerar dock inte pngcrush på andra bildfilformat.