我有HBITMAP。我使用GetBitmapBits(hbitmap, width * height, buffer);
什么是像素格式写入缓冲区?
谢谢。
您应该使用GetDIBits。
看看MSDN是怎么说的:GetDIBits
始终询问MSDN(如果使用Visual Studio)
可以不同,这取决于位图。下面是一段代码:
BITMAP bmp;
if( 0 == GetObject( hbitmap, sizeof( BITMAP ), &bmp ) ) // handle error
从BITMAP结构中,你可以找到像素格式和其他关于内存布局的重要内容。例如,下面是所需缓冲区大小的公式:bmp.bmWidthBytes * bmp.bmHeight