Nechtel bych kompresi, ja si fakt pred ctenim toho clanku myslel ze popise jak dumpnout bitmapu v pameti do jednoduchyho PNG (bez komprese, bez progrese, bez prokladani, bez alternativnich streamu) ciste v C, to by se imho hodilo trochu vic, protoze pak by mel clovek svobodu volby, pouziti libpng je trosku omezujici ;)
Hmm.. keep it small and simple? Ked chces dumpnut raw data, tak ich dumpni ako raw data, pripadne prihod 54bajtovu hlavicku a dumpni ich ako bmp. V oboch pripadoch existuju externe programy (za vsetky convert z ImageMagick-u), ktore ti z toho spravia kludne aj komprimovane png... ak to silou mocou nepotrebujes, je kompresia do png v tvojom programe zbytocna..
Ad pruhlednost: to jsem resil prave ruznymy stupni sedi. Po vytisknuti na folii a par experimentech s nastavenim tiskarny jsem dostal pozadovany vysledek.
Ad libpng a ostatni knihovny versus C: jiste ze je moznost tlacit png primo z C bez jakychkoli knihoven, ale to je dost jina liga kterou nevladnu a lidi pro ktere tento clanek zaujme jako HOWTO asi taky ne.
Asi jsem netrefil nazev clanku, opravdu byl mysleny jako HOWTO libpng - jak vytvorit obrazek.
Pruhlednost je u PNG resena 32bitovou barevnou hloubkou. kanaly jsou RGBA (A jako alpha transparency) po 8 bitech. pruhlednost je tedy definovana 256 urovnemi - 0 zcela pruhledna, 255 zcela nepruhledna. Nemam zkusenosti s libpng, ale GD umi s pruhlednosti pracovat pomerne slusne.
Krome zminenych knihoven muzete mrknout na GDAL (www.remotesensing.org)
Japhy