Winapi 当我使用GetBitmapBits获取位图信息时,HBITMAP的像素格式是什么?
我有HBITMAP HBITMAP。我使用GetBitmapBits(hbitmap,宽度*高度,缓冲区) 缓冲区中写入的像素格式是什么Winapi 当我使用GetBitmapBits获取位图信息时,HBITMAP的像素格式是什么?,winapi,bitmap,gdi,hbitmap,Winapi,Bitmap,Gdi,Hbitmap,我有HBITMAP HBITMAP。我使用GetBitmapBits(hbitmap,宽度*高度,缓冲区) 缓冲区中写入的像素格式是什么 谢谢。您想改用GetDIBits 查看MSDN对此的说明: 如果要使用GetDIBits,请始终询问MSDN(如果使用Visual Studio) 查看MSDN对此的说明: 始终询问MSDN(如果使用Visual Studio)可以不同,这取决于位图。这里有一个代码可以找到: BITMAP bmp; if( 0 == GetObject( hbitmap,
谢谢。您想改用GetDIBits 查看MSDN对此的说明:
如果要使用GetDIBits,请始终询问MSDN(如果使用Visual Studio) 查看MSDN对此的说明:
始终询问MSDN(如果使用Visual Studio)可以不同,这取决于位图。这里有一个代码可以找到:
BITMAP bmp;
if( 0 == GetObject( hbitmap, sizeof( BITMAP ), &bmp ) ) // handle error
从位图结构中,您可以了解像素格式和其他有关内存布局的重要内容。例如,以下是所需缓冲区大小的公式:
bmp.bmWidthBytes*bmp.bmHeight
可以不同,这取决于位图。这里有一个代码可以找到:
BITMAP bmp;
if( 0 == GetObject( hbitmap, sizeof( BITMAP ), &bmp ) ) // handle error
从位图结构中,您可以了解像素格式和其他有关内存布局的重要内容。例如,以下是所需缓冲区大小的公式:
bmp.bmWidthBytes*bmp.bmHeight
您可以使用高级getdibits指定此值,例如作为RGBQUADs。您可以使用高级getdibits指定此值,例如作为RGBQUADs