2009-09-08 15 views
7

Che non ci sia il semplice il modo di leggere un file PNG in una bitmap di memoria in Windows nativa sembrava impossibile, ma dopo molto googling sto iniziando a crederci. La combinazione libpng/zlib è troppo grande. Librerie Win32 di librerie di terze parti disponibili per la lettura di un PNG?Leggi un PNG utilizzando Win32/C++

Modifica: la soluzione boost :: gil :: png è molto più complessa di quanto avessi sperato. Basta una sola chiamata che prende il nome di un file e riempie un buffer di memoria con pixel.

+1

Duplicato? Vedi qui http://stackoverflow.com/questions/366768/convert-bitmap-to-png-in-memory-in-c-win32/538742 –

+0

L'API del sistema operativo principale non deve necessariamente avere un supporto integrato per la lettura e la scrittura di più tipi di immagine Ci sono molte librerie di terze parti per questo genere di cose. –

+1

Ed, non capisco il tuo commento alla luce del fatto che stavo chiedendo specificamente le librerie di terze parti. –

risposta

17

O, naturalmente, è possibile utilizzare GDI + - L'oggetto Bitmap prende un costruttore di archi e carica il file specificato in memoria. In questo modo non hai bisogno di librerie esterne, solo ciò che viene fornito con Windows.

+1

Questo è quello che sto cercando, grazie. Ho (erroneamente) pensato che GDI + fosse parte di .NET e il runtime .NET non uscisse con Windows XP e SP2. Questa è una grande notizia. –

+3

Nah GDI + è una parte del core di Windows. –

+0

+1 I, come IJK, supponevo che GDI + fosse .NET e non posso credere che mi mancasse una conoscenza di base. Grazie Larry! –

1

libgd è una libreria eccellente che può essere utilizzata in Windows e dispone di collegamenti per molte lingue popolari.

0

V'è un certo roba built-in è possibile utilizzare: IImgCtx e versioni successive di Windows si ha anche WIC

-1

Ho usato con successo libpng per fare questo.

Problemi correlati