CBitmap和CImage可以互换吗?

Dal*_*ton 1 c++ mfc visual-c++

我想知道这样的事情是怎么做的

CBitmap bmp;  
CImage img;

///

bmp=img;  

//use bmp here
Run Code Online (Sandbox Code Playgroud)

在我的程序中,我必须在某些时候使用CBitmap,但从一开始我只使用CImage.

AJG*_*G85 6

排序CImage是GdiPlus,CBitmap是MFC.你可以这样做:

CBitmap bmp;  
CImage img;
bmp = CBitmap::FromHandle(img.Detach());
Run Code Online (Sandbox Code Playgroud)

编辑:实际上CBitmap有一个附加所以可能更有效地做到这一点:

bmp.Attach(img.Detach());
Run Code Online (Sandbox Code Playgroud)