内存里有一组象素数据,24位/象素.我用描点的办法显示出来是正确的.现在想把数据保存为bmp文件. CBitmap _new;
BITMAP bm; bm.bmType=0x4D42;
bm.bmWidth=theApp.cf.header.xl;
bm.bmHeight=theApp.cf.header.yl;
bm.bmPlanes=1;
bm.bmWidthBytes=bm.bmWidth*3;
bm.bmBitsPixel=24;
bm.bmBits=theApp.pBuf;
if(_new.CreateBitmapIndirect(&bm)==0)
{
MessageBox(0,"创建位图失败!","gg",0);
return 0;
}
下面是填充BITMAPINFO 和BITMAPFILEHEADER结构,并通过GetBitmapBits()函数获得新的象素数据.
可是发现保存后的bmp图片是左右颠倒的,而且颜色有所改变.
BITMAP bm; bm.bmType=0x4D42;
bm.bmWidth=theApp.cf.header.xl;
bm.bmHeight=theApp.cf.header.yl;
bm.bmPlanes=1;
bm.bmWidthBytes=bm.bmWidth*3;
bm.bmBitsPixel=24;
bm.bmBits=theApp.pBuf;
if(_new.CreateBitmapIndirect(&bm)==0)
{
MessageBox(0,"创建位图失败!","gg",0);
return 0;
}
下面是填充BITMAPINFO 和BITMAPFILEHEADER结构,并通过GetBitmapBits()函数获得新的象素数据.
可是发现保存后的bmp图片是左右颠倒的,而且颜色有所改变.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货