您的位置:首页 > 其它

VC 加载图片的方法

2014-03-12 14:18 183 查看
vc加载图片的方法

对于BMP图片

LoadBitmap()/ LoadImage()

其中,LoadBitmap用于导入到资源中的BMP,

 LoadImage用于读取BMP

例如:

m_hBitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(), _T("123.bmp"),IMAGE_BITMAP, 0, 0,LR_LOADFROMFILE | LR_CREATEDIBSECTION);

对于其它格式的图片如:JPG/JPEG等

可用类CImage

加载图片使用 CImage的Load函数

然后使用Detach()取得HBITMAP句柄。

这样,后续就可以像处理BMP图像一样处理这些图片了。

例:

#include "atlimage.h"

CImage img;

 img.Load( strPath );
 if( !img.IsNull() )
 {
   HBITMAP hBitmap = img.Detach();
 }

 HDC hDC=image.GetDC();

 ::BitBlt(hDC,0,0,cxBmp,cyBmp,pView->m_memInitDC.m_hDC,0,0,SRCCOPY);
image.Save(m_strPath);

 image.ReleaseDC(); //拿到的DC要释放,不释放第二次刷新会崩溃。

 image.Destroy();//没有Destroy()会有内存泄漏。Detach();不行的。





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: