Oto moja próba (brzydki GDI + i GDI mix ...)Gdiplus :: Mapa bitowa do tablicy BYTE?
// ...
BYTE pixels[BMP_WIDTH * BMP_HEIGHT * BMP_BPP];
HBITMAP hBitmap;
Gdiplus::Bitmap cBitmap(BMP_WIDTH, BMP_HEIGHT, PixelFormat32bppRGB);
Gdiplus::Graphics cGraphics(&cBitmap);
Gdiplus::Pen cPen(Gdiplus::Color(255, 255, 0, 0));
cGraphics.DrawRectangle(&cPen, 0, 0, cBitmap.GetWidth() - 1, cBitmap.GetHeight() - 1);
// and here it get's real ugly, I'd like to change that...
cBitmap.GetHBITMAP(Gdiplus::Color(255, 255, 255), &hBitmap);
GetBitmapBits(hBitmap, sizeof(pixels), pixels);
// ...
Ktoś powiedział mi użyć LockBits ale ja naprawdę nie rozumiem, jak to zrobić. Próbowałem, ale nie udało mi się, więc nie zamierzam również opublikować tej próby.
Jest to łatwy przypadek, należy zwrócić uwagę, że 'krok% 4 == 0' w ogólnym przypadku (nie wszystkie 3 komponenty działa RGB). – malat