在VC中大部分都是以bmp的格式加载和处理图片,对于加载jpg文件有各种方式,鄙人在这记录一下自己加载jpg的方式,与各位进行分享,不足之处请多指教;
首先加上头文件支持CImage的使用,头文件是#include <atlimage.h>;
其他步骤详见代码:
void CMFCDC1View::OnMfcgdiBitmapex()
{
//定义CImage对象
CImage image;
//加载jpg格式图片
image.Load(L"D:\\123.jpg");
//根据image获得hBitmapt
HBITMAP hBitmapt = image.Detach();
//定义存放位图信息的变量
BITMAP bitmap = {0};
//获取位图信息
GetObject(hBitmapt,sizeof(bitmap),&bitmap);
CBitmap bmp;
//根据位图句柄得到CBitmap对象
bmp.Attach(hBitmapt);
//创建DC
CClientDC dc(this);
CDC dcBmp;
//创建匹配DC
dcBmp.CreateCompatibleDC(&dc);
CBitmap * pOldBmp = dcBmp.SelectObject(&bmp);
//绘图
dc.BitBlt(0,0,bitmap.bmWidth,bitmap.bmHeight,
&dcBmp,0,0,SRCCOPY);
dcBmp.SelectObject(pOldBmp);
}
根据以上就可以加载jpg格式图片了;当根据CImage得到HBITMAP时,其他操作就与位图操作一致;