Page 1 of 1

Pictview: PNG po průchodu programem PNGSlim jsou černé

Posted: 20 Apr 2009, 10:13
by stepand76
Zdar všem, použil jsem program PNGSlim (http://forum.altap.cz/viewtopic.php?f=15&t=3278) na některé svoje obrázky a zjistil, že po průchodu je PictView nezobrazuje správně (černé pozadí). Jde o obrázky s alpha kanálem a 256 barevnou paletou. Viz příloha...

Re: Pictview: PNG po průchodu programem PNGSlim jsou černé

Posted: 20 Apr 2009, 10:51
by zarevak
Všechny přiložené obrázky jsou 8bit Grey+Alpha (Color type = 4). Tedy bez palety ;)

O problému jsem již psal ve vlákně o podpoře PNG pro pluginy. Tento příspěvek.

- Specifikace IHDR chunku

Re: Pictview: PNG po průchodu programem PNGSlim jsou černé

Posted: 20 Apr 2009, 13:03
by stepand76
zarevak wrote:Všechny přiložené obrázky jsou 8bit Grey+Alpha (Color type = 4). Tedy bez palety ;)[/url]
Dík za připomínku. Moc jsem to nezkoumal, jen jsem si všiml, že to PictView nezobrazí správně a hned jsem to reportoval.

Re: Pictview: PNG po průchodu programem PNGSlim jsou černé

Posted: 22 Apr 2009, 23:23
by zarevak
Tak abych doplnil původní problém, kdy PictView nezvládne PNG obrázek s Paletou (Color type = 3) a jejím Alpha kanálem v tRNS chunku. Dokonce PictView kreslí nekontrolovatelné průhledné "fleky". (Barevná hloubka všech přiložených obrázků je 8 bitů - tedy by měly být možné je načíst pomoci PNGLite)

Zdrojový obrázek - pár barev a 2 úrovně Alpha:
paltest_rgba.png
paltest_rgba.png (2.49 KiB) Viewed 5802 times
Pomocí PNGslim převedeno na Palette + tRNS Alpha. V PictView obsahuje průhledné fleky u spodních písmen P a G:
paltest_pal.png
paltest_pal.png (1.04 KiB) Viewed 5801 times
Finální optimalizovaný obrázek. Bílá s 50% Alpha je v PictView zobrazena jako průhledná:
paltest_pal_final.png
paltest_pal_final.png (1.02 KiB) Viewed 5803 times
Tipuji, že PictView tRNS chunk bere jako index průhledné barvy, ale v případě Paletových (Color type = 3) obrázků slouží tRNS chunk pro nastavení Alpha kanálu prvních X položek v paletě!

Re: Pictview: PNG po průchodu programem PNGSlim jsou černé

Posted: 23 Apr 2009, 08:35
by Jan Rysavy
zarevak wrote:Tipuji, že PictView tRNS chunk bere jako index průhledné barvy, ale v případě Paletových (Color type = 3) obrázků slouží tRNS chunk pro nastavení Alpha kanálu prvních X položek v paletě!
Je to přesně tak. Otestoval jsem obrázky v novém CSalamanderPNGAbstract a Demopluginu a vypadá to OK.
demplugin.png
demplugin.png (29.13 KiB) Viewed 5780 times

Re: Pictview: PNG po průchodu programem PNGSlim jsou černé

Posted: 23 Apr 2009, 10:17
by Jan Patera
zarevak wrote:Tipuji, že PictView tRNS chunk bere jako index průhledné barvy, ale v případě Paletových (Color type = 3) obrázků slouží tRNS chunk pro nastavení Alpha kanálu prvních X položek v paletě!
Byla to zapomenuta vec z dob, kdy PV neumel alpha-blending. V historickych dobach to pro netrivialni mnozstvi souboru (zkonvertovanych GIFu) bohate stacilo.