8

无法理解这段代码有什么问题:

HBITMAP bm = 0; 
BITMAP Bitmap;
bm = (HBITMAP)LoadImage (0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
int error = GetObject( &Bitmap, sizeof( BITMAP  ), &bm );

LoadImage 函数返回非空指针。但是 GetObject 返回 0,表示出错。我想从 HBITMAP 指针获取大小信息和图像数据(指针可以作为参数传递,所以我无法更改加载位图文件的方式)。

4

1 回答 1

10

也许将参数放在正确的位置会有所帮助:

HBITMAP bm = 0; 
BITMAP Bitmap;
bm = (HBITMAP)LoadImage (0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
int error = GetObject( bm, sizeof( BITMAP ), &Bitmap ); // << NOTE ORDERING

GetObject()有关更多信息,请参阅文档。

于 2012-12-27T07:24:25.997 回答