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();不行的。
对于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();不行的。
相关文章推荐
- VC下加载多种格式图片的方法总结IPicture, CxImage, CImage(AtlImage), CPictureEx
- vc++加载透明png图片方法——GDI+和CImage两种 ,vs2005 vs2008 PNG背景
- VC下加载多种格式图片的方法总结
- vc++加载透明png图片方法——GDI+和CImage两种
- vc++加载透明png图片方法——GDI+和CImage两种
- VC下加载多种格式图片的方法总结IPicture, CxImage, CImage(AtlImage), CPictureEx
- [vc] vc++加载透明png图片的两种方法-GDI+和CImage
- VC中加载GIF格式动态图片的详细方法!
- VC中加载图片的几种方法
- vc++加载透明png图片方法——GDI+和CImage两种
- VC中加载GIF格式动态图片的详细方法!
- VC中加载图片的几中方法
- vc++加载透明png图片方法——GDI+和CImage两种 ,vs2005 vs2008 PNG背景
- VC 下加载 JPG / JPEG / GIF / PNG 图片最简单的方法
- VC下加载多种格式图片的方法总结
- vc++加载透明png图片方法——GDI+和CImage两种
- vc++加载透明png图片方法——GDI+和CImage两种
- VC 下加载 JPG / JPEG / GIF / PNG 图片最简单的方法
- VC下加载多种格式图片的方法总结
- VC下加载多种格式图片的方法总结