Alpha csatorna 8 bites PNG-hez

Kornel Lesiński ingyenes PNG és JPG optimalizáló szoftverét, az ImageOptim-ot már ismerhetjük régebbről. Ez a program a rádobált fájlokat optimalizálja tovább úgy, hogy kiszedi belőlük az extra metaadatokat, szín profilokat és megfelelően még át is kódolja a képeket. Érdemes kipróbálni.

Kornelnek van egy másik toolja, amivel kifejezetten PNG fájlokat tudunk még jobban optimalizálni, ez pedig az ImageAlpha. Aki webfejlesztő és exportált már PNG-ket, tudja, hogy elég nagy fájlméretet eredményez az, ha egy 24 bites nagy fotót akarunk alphával (gyk. “átlátszósággal”) exportálni. Vannak képek, amik jól viselkednek, jól tömöríthetők és viszont. Photoshopban lehet ügyeskedni, én is szeretem a 8 bitre konvertálást, viszont akkor veszítjük a 24 bites alphát és csak arra van lehetőség, hogy egyetlen színhez illesszük a képet:

Ennél a példánál én #F00 piroshoz:

Greg Roelofs és Jef Poskanzer viszont kitaláltak egy remek dolgot, ami alapján Lesiński megcsinálta az ingyenesen felhasználható libet, a pngquant-ot. Ez egy 24 bites PNG képet 8 bitessé alakít úgy, hogy megőrzi az alphát és rettenetesen szofisztikált módon válogatja a palettát hozzá. Íme a fenti kép ugyanúgy 256 színre exportálva, de valódi alpha csatornával:

A pngquant-ot bárki szabadon beépítheti a saját szoftverébe, ez került bele az ImageAlphába is. A Photoshopban előkészített valódi 24 bites képet érdemes tehát ebbe behúzni és finomhangolni az exportálást (ráadásul nem tudom, érdekel-e bárkit is, de ezek a PNG-k még IE6-on is jobban néznek ki).

De mi van a fotókkal, amikkel a JPG a király? Még egy okos ötlet, ami a PNG működését használja ki: tömörítsük át a képet olyanra, hogy a PNG algoritmus még jobban tudjon dolgozni! Ez már “lossy” eljárás lesz a javából, viszont abban az esetben, ha fájlméretet akarunk csökkenteni és nem zavar, ha a kép picit máshogy néz ki, eresszük rá a konvertert. Eredetileg Michael Vinther és William MacKay munkája alapján a példa, hogyan néznek ki ezzel az eljárással, a “Blurizerrel” megkezelt PNG-k:

Ez még csak az egyik nightlyben van benne. A fenn ismertetett dolgokról egy ennél részletesebb összefoglalót találunk erre, illetve a program forráskódját itt.

/via @ba78