Đây là nỗ lực của tôi (xấu xí GDI + và GDI kết hợp ...)Gdiplus :: Bitmap vào mảng 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);
// ...
Có người nói với tôi để sử dụng LockBits nhưng tôi thực sự không hiểu làm thế nào. Tôi đã thử nó, nhưng tôi thất bại vì vậy tôi sẽ không đăng nỗ lực đó, quá.
Đây là một trường hợp đáng chú ý là 'stride% 4 == 0' trong trường hợp chung (không phải tất cả 3 thành phần RGB hoạt động). – malat