MFC显示彩色拷贝位图的方法

1.定义一个BYTE类型的指针,用来指向将要拷贝的位图,

直接使用unsigned char类型也可以,应为BYTE被定义为unsigned char

unsigned char *pBits = NULL;

 

2.使用GetBitmapBits函数来拷贝位图,位图的宽为src_width,高为src_height,单位为像素。

先给存放位图的指针pBits申请内存,长度大小为“长 * 宽 * 4”,4表示一个像素的占用的字节大小

pBits = new unsigned char[client_w * client_h * 4];

memset(pBits, 0, sizeof(char) * src_width * src_height * 4);
::GetBitmapBits(buf_bitmap, src_width * src_height * 4, pBits); // buf_bitmap为源位图,类型为CBitmap

 

3.使用CreateBitmap来创建位图,参数可以直接用pBits。如果使用CreateCompatibleBitmap创建,位图参数必须是BITMAP

   

发布了270 篇原创文章 · 获赞 273 · 访问量 377万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览