Pngcrush
Kuinka pakkaan ja puristan PNG kuvatiedoston linuxissa?
Mikä on PNG kuva?
PNG (Portable Network Graphics) on häviötön kuvan pakkaus- tiedostomuoto, se on otettu korvaamaan ei vapaa GIF-tiedostomuoto.
Epävirallisesti lyhenne PNG tuleekin sanoista PNG's Not Gif.
PNG kuvan pakkaus on siis häviötöntä jolloin kuvat ovat teräviä, mutta voivat olla suhteellisen suuria kooltaan. Jotta tiedostokokoa saataisiin pienemmäksi, on työkalu jolla voidaan pakata PNG kuvaa vieläkin pienemmäksi, häviöttömästi!
Komentorivi pohjainen ohjelma on nimeltään pngcrush, ja se on saatavilla sekä windows että linux käyttöjärjestelmille. Ohjelma voi pienentää tiedoston kokoa jopa 40% alkuperäisestä, sillä ohjelma kokeilee eri pakkaustasoilla PNG kuvan suodatinmetodeja.
Ohjelman ajaminen on helppoa. esim: './pngcrush input.png output.png'.
Asennus
Jos pngcrush ei ole distrosi pakettivalikoimassa, kuten minulla (rhel 6), voit ladata ohjelman pmt.sourceforge.net sivulta.
Pura tiedosto esim. pngcrush-1.7.15.tar.xz ja mene kansioon johon purit sen. Kansiossa avaa komentotulkki ja käskytä 'make' joka luo hetkessä pngcrush -tiedoston jonka voit ottaa talteen esim. ~/ohjelmat/pngcrush kansioon.
Käyttö
Nyt viet kuvia tuohon pngcrush kansioon joita haluat optimoida ja/tai puristaa pienemmäksi.
Voit optimoida kuvia yksitellen käskyllä: ./pngcrush input.png output.png
Tai voit optiomoida useita kuvia yhdellä kertaa: ./pngcrush -d optimoitu -e .png *.png tällä käskyllä luodaan kansio optimoitu jonne kaikki optimoidut kuvat siirretään, ja näin alkuperäiset kuvat pysyvät koskemattomina.
Vielä hiukan paremmin saa puristettua kun lisää käskyyn vivun -brute jolloin ohjelma kokeilee 114 erillaista suodatus/pakkaus metodia.
Käskytä silloin näin: ./pngcrush -brute -d optimoitu -e .png *.png
Lopuksi
On olemassa toinenkin ohjelma nimeltään optipng, joka muuten löytyi epel reposta tähän mun rhel 6:n toisin kuin tämä pngcrush. Testasin molempia ohjelmia ja päädyin itse käyttämään pngcrushia koska se puristaa tiedostot pienemmiksi, mikä voi johtua tietty siitä että epelin reposta asennettu optipng on vaan niin paljon vanhempi.