BonFire blogja

Minden, mi kreatív…

PNG fájlok tömörítése az átlátszóság megőrzésével

2013. október 16. 16:11 - BonFire

Lehet, hogy sokan ismerik már az oldalt, nekem mindenesetre új, mert eddig nemigen foglalkoztam azzal a problémával, hogy a Photoshopban a PNG mentése során nemigen van lehetőségünk, hogy a PNG fájl méretét optimalizálhassuk. (Pedig CS6-ra már eljuthattak volna idáig, de sebaj!) Az ITcafé motorja viszont nagyon mostohán bánik a PNG-vel, 600 kB-nál nagyobb képet nem enged feltölteni, azt az értéket meg nem nagy művészet megugrani.

Gondoltam, sebaj, az IrfanView majd megoldja a PNG tömörítést, de azzal meg az átlátszó háttér lett fekete, tehát holtpontra jutottam.

Kis keresgélés után bukkantam a TinyPNG nevű oldalra, amely elég jó hatásfokkal, online nyomja össze a PNG képeinket (kábé 70%-kal), ráadásul az átlátszóságot is megőrzi, a minőség pedig szemmel láthatóan nem romlik. A feltöltés/konverzió/letöltés tényleg csak pár másodperc. Remek életmentő online eszköz, megérdemli, hogy megkönyvjelzőzzük és használjuk.

Videó a használatról

PNG fájlok tömörítése az átlátszóság megőrzésével

6 komment

A bejegyzés trackback címe:

https://bonfire.blog.hu/api/trackback/id/tr705576950

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Fefy · http://blog.fefy.info/ 2013.10.26. 18:45:59

Hasznos egy oldal, habár a png + 70%-os méretcsökkenés eléggé ellentmondó dolgok, mivel minőségromlás nélkül nem lehet a png méretét csökkenteni (nem véletlenül lossless formátum a png). Ettől függetlenül elmentve a link a "jól jön még valamikor" linkek közé.

BonFire 2013.10.26. 23:30:16

@Fefy: Én nem mélyedtem bele, mivel csak a feladat volt: összébb nyomni a PNG-t, és ez az oldal megtette. Megmaradt az alfa csatorna. Persze lehet, hogy valami hamis PNG-t generál, sőt, biztosan hamisítja, ha csökkenteni tudja a méretét.

Majd ha nagyon nem lesz témám, talán utánaGuglizok, hogy mit is csinál valójában ez az oldal.

BonFire 2013.10.26. 23:32:31

"TinyPNG uses smart lossy compression techniques to reduce the file size of your PNG files. By selectively decreasing the number of colours in the image, fewer bytes are required to store the data. The effect is nearly invisible but it makes a very large difference in file size!"

Tehát meghamisítja a „tömörítetlen” PNG-t és eldobál belőle színeket. A kérdés az, hogy a művelet után a kép mennyire számít még PNG-nek.

Fefy · http://blog.fefy.info/ 2013.10.26. 23:49:26

@BonFire: Ez egy jó kérdés. Technikailag már biztosan nem ugyanarról a PNG képről beszélünk, mivel színveszteséget okoz. Ha tippelnem kellene, hogy hogyan működik, akkor én valami hasonlóra tippelnék: kiszedi a képről az alfa csatornát, ráereszt egy jpeg tömörítést (vagy bármilyen ehhez hasonló lossy tömörítést), majd visszaállítja az alfát. Holnap viszont alaposabban utána járok, hogy ezt hogyan is valósítja meg, mert érdekelne, hogy milyen módon ér el 70% körüli tömörítést.

BonFire 2013.10.26. 23:55:04

@Fefy: Azt írja az oldal, hogy indexálja a színeket, mint a GIF. Továbbá az is igaz, hogy a PS 24 bitben ment, és lehet, hogy ez átkonvertálja mondjuk 16 bitre, mert annyi is elég a megjelenítendő színekhez. Ettől még a PNG PNG marad, csak kisebb helyet foglal, mert mondjuk nincsenek plusz biteken ugyanazok a színek redundánsan eltárolva.

PS-ben viszont csak a 8 és a 24 bites választható, amiből a nyolcbites nem jobb egy GIF-nél, ezért nem is használjuk. Valószínű, hogy saját algoritmust használnak, ami nem tömöríti, hanem átkonvertálja gazdaságosabb formába. Ha például csak 40–50 szín jelenik meg (plusz alfa =12–13e szín összesen), akkor szívfájdalom nélkül megjeleníti 16 biten. Az elég ha jól számolok.

Fefy · http://blog.fefy.info/ 2013.10.27. 00:10:06

@BonFire: Indexelés esetében valóban nincs szükség nagy trükközésre, mindenesetre érdekes, hogy egy ilyen egyszerű opció hiányzik a ps-ből (vagy csak nem működik és senkinek nem tűnt még fel/senki nem foglalkozik vele) + köszönöm, hogy gugliztál helyettem is.