当我使用GetBitmapBits获取位图信息时,HBITMAP的像素格式是什么?

时间:2011-08-02 14:22:04

标签: winapi bitmap gdi hbitmap

我有HBITMAP hBitmap。我使用GetBitmapBits(hbitmap,width * height,buffer);

缓冲区中写入的像素格式是什么?

感谢。

2 个答案:

答案 0 :(得分:2)

您想改用GetDIBits。

查看MSDN对此的评价: GetDIBits

始终询问MSDN(如果使用Visual Studio)

答案 1 :(得分:0)

可以不同,取决于位图。这是要查找的代码:

BITMAP bmp;
if( 0 == GetObject( hbitmap, sizeof( BITMAP ), &bmp ) ) // handle error

从该BITMAP结构中,您可以找到像素格式以及有关内存布局的其他重要信息。例如,下面是所需缓冲区大小的公式:bmp.bmWidthBytes * bmp.bmHeight