记得还在学校时,做游戏就经常用这个函数来加载一些图片资源的(BMP)。
前几 天做项测试,想得到bmp图片的位图数据,为了简单点,我使用
HBITMAP hBitmap;
BITMAP bitmap;
hBitmap = LoadImage( ins, "f1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_DEFAULTSIZE);
GetObject( hBitmap, sizeof(bitmap), &bitmap);
可是得出的bitmap其它成员都有值且正确,只是bitmap.bmBits成员为空,查了半天,开始以为是GetObject的问题,后来发现,是LoadImage引起的,
因为GetObject只能获取DIB的bmBits,上面LoadImage构造的HBITMAP是和设备相匹配的DDB, 只有加上LR_CREATEDIBSECTION标志才会构造出和位图文件一致的DIB。