schneller Pixelzugriff auf HBitmap-Objekt mit Windows-Api-Funktionen
-
Wie kann ich am schnellsten (Lesezugriff reicht) auf die Pixel von einem HBitmap-Objekt zugreifen, welches ich zuvor mit StretchBlt gefüllt habe?
Welche Methoden muss ich vor oder nach StretchBlt aufrufen?
Gibt es denn da nicht irgendetwas aus der Windows-Api?
-
Anfaenger2003 schrieb:
Wie kann ich am schnellsten (Lesezugriff reicht) auf die Pixel von einem HBitmap-Objekt zugreifen, welches ich zuvor mit StretchBlt gefüllt habe?
Schneller dürfte es nicht gehen:
BITMAP bm; HBITMAP hBitmapDest; FARPROC pfnGetObject; int x, y; LONG *pDest; pfnGetObject (hBitmapDest, sizeof (BITMAP), &bm); pDest = (LONG *) bm.bmBits; y = bm.bmHeight * bm.bmWidth; // Zugriff for (x = 0; x < y; x++) { *(pDest++) = ... // <- irgendwas }
-
::HBITMAP hBitmap(::LoadImage(...)); if (hBitmap == NULL) return false; ::BITMAP bmp; ::GetObject(hBitmap, sizeof(bmp), &bmp); LONG* pBitmapData(static_cast<LONG*>(bmp.bmBits)); LONG lPixelCount(bm.bmHeight * bm.bmWidth); for (LONG px = 0; px < lPixelCount; ++px) *(pBitmapData++) = RGB(10, 20, 30);schmidt-webdesign.net's Code mal umgeschrieben ...
-
Hey super!!!
Das hat mir wirklich weiter geholfen, DANKE
mach weiter so