Cimage和Cbitmap之间的 互相转换

来源:互联网 发布:linux入门教程视频 编辑:程序博客网 时间:2024/05/01 11:20

CImage转为CBitmap:

CImage* img;

CBitmap* bm;

img->Load(lpszSourceName);

HBITMAP hbmp =(HBITMAP)img->operator HBITMAP();

bm->DeleteObject();

bm->Attach(hbmp);

//////////////////////////////////////////////

CBitmap转为CImage:

CImage* img;

CBitmap bm;

HBITMAP hbmp = (HBITMAP)bm.GetSafeHandle();

if(!img.IsNull())    //Attach前,必须确认img中无位图,否则会弹出异常,但忽略也可继续运行

img->Destroy();

img->Attach(hbmp);

另注:原对象中的位图改变后,所有Attach到这个对象的对象需从新Attach一次,否则图像为初始化的颜色或黑色!

原创粉丝点击