8
votes

Lire un PNG à l'aide de Win32 / C ++

Il n'y a pas de simple de lire un fichier PNG dans une mémoire bitmap dans des fenêtres indigènes semblait impossible, mais après de nombreuses googles, je commence à y croire. La combinaison libpng / zlib est trop grosse. Toutes les bibliothèques de bibliothèques tierces gagnent des bibliothèques pour lire un PNG?

EDIT: The Boost :: Gil :: La solution PNG est beaucoup plus complexe que j'espérais aussi. Il suffit de besoin d'un seul appel qui prend un nom de fichier et remplit un tampon de mémoire avec des pixels.


3 commentaires

Dupliquer? Voyez ici Stackoverflow.com/Questtions/366768/...


L'API Core OS ne doit pas nécessairement avoir pris en charge la lecture et la rédaction de types d'images multiples. Il existe de nombreuses bibliothèques tierces pour ce genre de chose.


Ed, je ne comprends pas votre commentaire à la lumière du fait que je demandais spécifiquement des bibliothèques tierces.


4 Réponses :


1
votes

libgd est une excellente bibliothèque pouvant être utilisée sous Windows et contient des liaisons pour de nombreuses langues populaires.


0 commentaires

0
votes

Il y a des éléments intégrés que vous pouvez utiliser: iImgctx et Sur les versions ultérieures de Windows, vous avez également WIC


0 commentaires

18
votes

ou bien sûr, vous pouvez utiliser gdi + - le bitmap objet prend un constructeur de chaîne et charge le fichier spécifié en mémoire. De cette façon, vous n'avez pas besoin de bibliothèques externes, ce qui vient avec Windows.


3 commentaires

C'est ce que je cherche, merci. Je pensais (à tort) que GDI + faisait partie de .NET, et le point d'exécution .NET n'est pas sorti avec Windows XP et SP2. C'est une super nouvelle.


Nah GDI + fait partie des fenêtres principales.


+1 I, comme IJK, supposé GDI + était .NET, et ne peut pas croire que je manquais un peu de connaissances de base. Merci Larry!



-1
votes

J'ai utilisé avec succès libpng pour le faire.


0 commentaires