J'essaie de créer paletté image PNG (8 bits par pixel) qui utilise la palette RGBA (32 bits par entrée de palette) en utilisant Cocoa framework *.Créer et écrire PNG RGBA palettisé en utilisant NSImage
J'ai essayé quelques combinaisons pour la méthode [NSBitmapImageRep initWithBitmapDataPlanes:…]
. Il semble créer bitmap approprié pour bitsPerSample:2
bitsPerPixel:8
.
Cependant, lorsque je tente d'écrire ce bitmap avec [NSBitmapImageRep representationUsingType:NSPNGFileType…]
je reçois:
libpng error: Invalid bit depth for RGBA image
Si j'essayer d'autres profondeurs de bits, puis-je obtenir 32 bits par pixel d'image (non palettisées).
*) Je sais que je pourrais simplement utiliser libpng
, mais ce n'est pas une réponse que je suis à la recherche.
Oui, mais c'est pour un fichier * GIF *, pas un fichier * PNG *. Ce sont des animaux différents. –
Il existe un moyen de spécifier la palette - il prend la propriété 'NSImageRGBColorTable'. J'ai trouvé l'astuce 2-bps * quelque part * expliquant comment faire fonctionner la sortie GIF (même si c'était peut-être faux - quel serait le réglage correct pour le GIF?). – Kornel
Je connais PNG! = GIF. Mon argument était que cette classe supporte les palettes - les supports GIF le prouvent. – Kornel