1. 首页
  2. 编程语言
  3. C++ 
  4. 使用VC加载JPG格式图片的两种方法

使用VC加载JPG格式图片的两种方法

上传者: 2023-04-19 07:38:37上传 TXT文件 3.78KB 热度 14次

MFC提供的CWnd默认只能加载BMP图片,对于JPG等格式的图片并不支持。但是在实际开发中,我们可能需要使用JPG等格式的图片。这时,我们可以使用流对象或者IPicture接口来加载JPG格式的图片。具体实现方法可以参考以下代码:

// 使用流对象加载JPG图片

CImage jpgImage;

CFile file(_T("picture.jpg"), CFile::modeRead);

CArchive ar(&file, CArchive::load);

jpgImage.Load(ar);

// 使用IPicture接口加载JPG图片

CImage jpgImage;

IPicture pic = NULL;

OleLoadPicturePath(L"picture.jpg", NULL, 0, RGB(255, 255, 255), IID_IPicture, (LPVOID)&pic);

if (pic != NULL)

{

HDC dc = ::GetDC(NULL);

pic->Render(dc, 0, 0, jpgImage.GetWidth(), jpgImage.GetHeight(), 0, jpgImage.GetHeight(), jpgImage.GetWidth(), -jpgImage.GetHeight(), NULL);

ReleaseDC(NULL, dc);

pic->Release();

}

下载地址
用户评论