从图像 Gdi+ 中提取像素缓冲区

Extract pixels buffer from Image Gdi+

我想从 Gdiplus::Image 中提取像素缓冲区 这是我的代码:

Gdiplus::Bitmap bitmap(GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), BPP4 * GetSystemMetrics(SM_CXSCREEN), PixelFormat32bppARGB, data);

Gdiplus::Image *pThumbnail = bitmap.GetThumbnailImage(mWidthResolutionSelected, mHeightResolutionSelected, NULL, NULL);

如何从 pThumbnail 获取 GetThumbnailImage 缩放后的像素缓冲区? 谢谢

您将 pThumbnail 转换为 Bitmap*,然后使用 LockBits 方法获取 BitmapData 对象,该对象包含 Scan0 字段,该字段是指向像素数据的指针。完成后别忘了调用 UnlockBits。