Win32 C/C++ Bild Laden aus dem Speicher-Puffer
Möchte ich ein Bild laden (.bmp) - Datei auf einem Win32-Anwendung, aber ich nicht wollen, verwenden Sie die standard-LoadBitmap/LoadImage von Windows-API: ich möchte es laden ein Puffer, der bereits im Speicher. Kann ich problemlos laden einer bitmap direkt aus einer Datei und drucken Sie es auf dem Bildschirm, aber das Problem ist, dass mir stecken.
Was ich Suche ist eine Funktion, die so funktioniert:
HBITMAP LoadBitmapFromBuffer(char* buffer, int width, int height);
InformationsquelleAutor Bruno | 2010-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Egal, ich fand meine Lösung! Hier ist die Initialisierung code:
InformationsquelleAutor Bruno
Versuchen
CreateBitmap()
:InformationsquelleAutor Adam Rosenfield
CreateDIBSection
kann ein wenig kompliziert zu bedienen ist, aber eines der Dinge, die Sie tun können, ist, erstellen Sie ein device-independent bitmap und geben Sie einen Zeiger auf den Puffer für die bitmap-bits. Zugegeben, Sie haben bereits einen Puffer voll von bitmap-bits, aber zumindest konnte man die Daten kopieren.Spekulieren ein bisschen:
CreateDIBSection
auch das erstellen von bitmaps aus Datei-Objekte, und es ist wahrscheinlich ein Weg, um Windows geben Sie ein file-Objekt repräsentiert ein Stück Speicher, das könnte trickCreateDIBSection
in geben Sie ein bitmap direkt aus Ihrem Puffer.InformationsquelleAutor JustJeff
Nein, aber Sie können erstellen Sie eine neue bitmap die Größe des aktuellen im Arbeitsspeicher und schreiben Sie Ihre Speicher-Struktur auf.Du suchst die CreateBitmap Funktion. Set lpvBits auf Ihre Daten.
InformationsquelleAutor Billy ONeal