使用VC加载JPG格式图片的两种方法
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();
}
下载地址
用户评论