Autor | Zpráva | ||
---|---|---|---|
Milan1236000 Profil |
Zdravím,
zatím tento mi vždy sníží velikosti obrázků o nejvíc bez ztráty kvality. Na jakém principu to funguje? |
||
juriad Profil |
#2 · Zasláno: 3. 7. 2015, 00:17:08
Máš to napsané přímo na hlavní stránce: „Because the number of colors is reduced, 24-bit PNG files can be converted to much smaller 8-bit indexed color images“.
V krátkosti, stačí na uložení každého pixelu jen jeden byte namísto tří. |
||
Alphard Profil |
#3 · Zasláno: 3. 7. 2015, 00:22:49
Kdyby to nebylo zřejmé z [#2] juriad, nejde o bezeztrátovou kompresi. Původní obrázek nemůže přesně obnoven (ale zahozené informace jsou tradičně vybírány co nejinteligentněji).
|
||
Milan1236000 Profil |
juriad:
No, to je právě to. Já už ty obrázky v 8-bit (někdy dokonce v 4-bit) mám, takže co na tom ještě optimalizuje? Alphard: Takže smaže metadata a to je vše? |
||
Chamurappi Profil |
#5 · Zasláno: 3. 7. 2015, 00:34:29
Reaguji na Milana1236000:
„bezztrátová komprese obrázků“ … „bez ztráty kvality“ To čteš nějak špatně, já tam vidím advanced lossy compression, tedy pokročilá ztrátová komprese. V závislosti na tom, jak vypadá zdrojový obrázek, můžou být ztráty více či méně vidět, ale nepochybně tam jsou, pokud bylo použito víc jak 256 barev (= unikátních kombinací RGBA). Existují nástroje na skutečnou bezztrátovou kompresi PNG, které obvykle nedosahují až tak zázračných výsledků, a ty fungují tak, že jednak vyházejí všelijaká metadata a jednak zkouší metodou pokus-omyl komprimovat obrazová data s různými kompresními parametry a zkoumají, které vyjdou nejlépe. Běžný grafický editor se s tím tolik nepáře, protože chce ukládat rychle, takže si tipne, která sestava parametrů by mohla vyjít nějak dobře. |
||
1Pupik1989 Profil |
#6 · Zasláno: 3. 7. 2015, 06:39:58
Pokud se hodně barev opakuje, pak se v PNG dá vytvořit paleta. Poté je na scanline jen 8 bitů na barvu, protože je to index v paletě nikoliv barva samotná. Kdyby si měl jen 8 bitů na barvu, tak je obrázek černobílý, respektive má 256 odstínů šedi.
V PNG je hodně možností, jak snížit velikost při ukládání. Třeba pngout je na to pěkná hračka. 1. Výběr uložení scanline (line/interlaced) 2. Deflate (bez komprese/lz77/huffman + lz77) 3. Nastavení počtů bitů/paleta 4. Nastavení barvy jako transparentní (pokud je třeba bílá průhledná) Bude toho určitě víc, na co si nevzpomenu. |
||
Milan1236000 Profil |
#7 · Zasláno: 3. 7. 2015, 11:43:55
Chamurappi:
Aha, tak to jo. Díky. 1Pupik1989: Díky za tip, vyzkouším. |
||
Martin2 Profil * |
#8 · Zasláno: 3. 7. 2015, 14:06:58
U PNG konkrétně lze (neztrátově) ušetřit data důsledným využitím všech možností, které formát poskytuje. Například kombinaci sestavení 8-bitové palety s 8-bitovým alpha kanálem Photoshop nenabízí, přestože je plně funkční a zcela v souladu s normou PNG.
|
||
Časová prodleva: 10 let
|
0