Előre is elnézést, de ez most nagyon felhúzott. Ha valaki tud rá megoldást, szóljon!
Szóval az van, hogy az nem újdonság, hogy a GIMP nem képes palettás PNG-t menteni, ezt mindig kijavítják, aztán újra elrontják. Amióta kijött a 3-as, azóta konzekvensen szar és nem működik ez a funkció (elveszíti az alfa csatornát). Szóval marad az, hogy true-color képeket exportálok.
NA DE! Most már azt is elrontja! Palettaindexek hiányában a programom konkrét színkódokat néz, és azt vettem észre, hogy elkezdett nem jól működni. Fél napig debuggoltam, mire kiderült, nem is az én programomban van a hiba, hanem a GIMP-ben. Bizonyos esetekben bizonyos képeknél bizonyos pixeleket hibásan exportál (konkrétan néhány FF000000 helyett FF000100-t, FFD0D0D0 helyett pedig FFD0D0CF-et ment). Nem minden képnél, és adott képen sem minden pixelnél, csak bizonyosaknál. Bakker. Kínomban összedobtam egy xcf2png konvertálót, de hiába, a hiba akkor is jelentkezik, ha xcf-be mentek. Az egyetlen, amivel jól működik és nem szúrja el, az a Targa export, de ez akkor is rohadtul kényelmetlen, hogy minden betöltés után pixeleket kell javítgatnom a GIMP-ben az újabb exportálás előtt, mert az xcf-be is szarul kerülnek a színkódok...
Szóval most az van, hogy az exportált Targát ImageMagick-el konvertálom png-évé. De ott sem fenékig tejfel minden... Eleve palettás Targát nem képes beolvasni (bár a palettás Targát jól menti a GIMP), csak true-colorral működik, és ha palettás PNG-nek akarom konvertálni "PNG8:" előtaggal, akkor az IM is elrontja a képet. Érdekes módon azonban, ha a true-color képen összesen kevesebb, mint 256 különböző szín van, akkor külön kérés és kapcsoló nélkül is palettás PNG-ként menti az IM, és ráadásul ilyenkor nem is rontja el, helyesen megmarad az egész alfa csatorna (jó PLTE és tRNS chunkok mentődnek). Ha több szín van, akkor még bejön egy pngquant lépcső is, de azzal még sosem volt bajom, eddig még mindig jól kezelte az alfa csatornás palettás képet (ha tudna Targát beolvasni, ki is maradhatna az IM lépcső).
Na de visszakanyarodva a GIMP-hez: tudja valaki, hogy lehet rávenni, hogy pontosan azokat a pixeleket mentse, amiket rajzolok, és ne valami mást? Már annak is örülnék, ha az xcf-be az kerülne, amit rajzolok. Eleve önmagában már ez a kérdés is tök durván hangzik, de tényleg ez a kérdés...