首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

为什么显示的是一幅完全黑色图片?解决方法

2012-04-22 
为什么显示的是一幅完全黑色图片?BITMAP mapCBitmap bitmap1bitmap1.LoadBitmap(IDB_building)bitmap1.

为什么显示的是一幅完全黑色图片?
BITMAP map;
CBitmap bitmap1;  
bitmap1.LoadBitmap(IDB_building); 
   
bitmap1.GetBitmap(&map)
bitmap1.GetBitmapBits(map.bmWidthBytes*map.bmHeight,map.bmBits);

CBitmap bitmap2;
bitmap2.CreateBitmapIndirect(&map);
//bitmap2.CreateBitmap(map.bmWidth,map.bmHeight,map.bmPlanes,map.bmBitsPixel,map.bmBits);

后面代码是显示 图片bitmap2 的操作。。。

为什么显示出来的是黑色图?



[解决办法]
BITMAP中本来就不包含颜色信息
CreateBitmapIndirect是根据BITMAP所提供的信息创建一个具有特定宽度、高度和颜色格式的位图
[解决办法]
你根本就没有把bitmap1的数据部分与bitmap2联系起来。只是根据bitmap1的大小等信息创建了一幅空位图。显示出来当然是黑色的。

热点排行