无法解释此代码的错误:
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指针获取大小信息和图像数据(指针可以作为参数传递,所以我不能改变我加载位图文件的方式)。
答案 0 :(得分:9)
将参数放在正确的位置可能会有所帮助:
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()
上的文档。