Holen Sie sich bytes aus HBITMAP

Wie kann ich mir ein Bild von bytes von hbitmap, wenn ich ein HBITMAP Zeiger, und meine Anwendung ist die Konsolenanwendung.
Ich habe versucht mit GetDIBits, die verlangen, dass solche parameter wie HDC, die ich nicht bekommen kann.

BEARBEITEN:
Ich lade bitmap aus Datei:

HBITMAP bm = 0; 
BITMAP Bitmap;
bm = (HBITMAP)LoadImage (0, TEXT("C:\\img1.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);

Ich pass HBITMAP, um die Funktion und erwarten, dass andere bekommen, HBITMAP von verarbeiteten Bild:

HBITMAP out1 = func(bm);

Where func:

HBITMAP func(HBITMAP im);

Und das problem ist, wie man Bild-bytes aus HBITMAP.

Haben Sie folgte Microsoft ' s Image Store Beispiel ?
Er erklärte, dass er versucht GetDIBits aber nicht über einen DC-pass (wie das Beispiel, das Sie verbunden zeigt).
Vergib mir meine Fehler zu link mit GetDIBits (), um die OP zu versuchen (und scheitern), um nach der vorgeschriebenen Methode zu tun, diese Aufgabe von der Microsoft-website. Ich habe nicht die Verbindung, und anscheinend ich sollte haben.
Ich glaube, die eigentliche Frage hier ist ", Was Sie beabsichtigen zu tun mit dem raw-bytes?" Wenn Sie möchten, schreiben Sie Sie auf ein PNG-Bild, oder etwas, Sie müssen zu bekommen, die Gerät-unabhängige Daten mit GetDIBits.
Reinhart habe ich auch einige, die Bildbearbeitung und dann das Ergebnis in eine neue HBITMAP Zeiger.

InformationsquelleAutor maximus | 2013-01-08

Schreibe einen Kommentar