Fondamentalement, je voudrais convertir un bitmap en png en utilisant libpng mais plutôt que de le sortir en un fichier * Je voudrais le sortir en un char *. J'ai déjà vu this post lié mais je ne vois pas où les données bitmap sont réellement utilisées. Toute aide serait appréciée.Aide à la conversion d'un bitmap en png en mémoire en utilisant libpng
Répondre
Utilisez la fonction png_set_write_fn
pour rediriger les écritures vers votre propre fonction; cette fonction, que vous devez écrire, peut stocker la sortie comme vous le souhaitez.
Voir la documentation à http://www.libpng.org/pub/png/libpng-manual.txt
Super, merci pour l'aide. Je l'ai finalement résolu ici est ma solution au cas où quelqu'un d'autre est un noob comme moi: d'abord définir votre row_pointers de sorte que chaque row_pointer pointe vers une ligne dans votre bitmap. (row_pointers [i] = bitmap [i * bitmap_width * 3], 3 s'il s'agit d'un bitmap RVB). Ensuite, définissez les lignes: png_set_rows (png_ptr, info_ptr, row_pointers); appeler ensuite: png_set_write_fn (...) Et enfin appeler votre write_fn en appelant: png_write_png (...) – dlee123
devrait-elle être étiqueté C non C++? – John