【高分相送】如何在MFC中使用LoadImgae函数

来源:百度知道 编辑:UC知道 时间:2024/06/28 03:03:22
利用函数从本地文件夹里读取BMP图片(相对路径后者绝对路径),牛人给个比较完整的示例

多谢了,如果很满意,另外加分
LoadBitmap这个我知道,不过我想直接读取本地文件夹的图片

能否详细一点。。。 - - 把读取图像和显示图像的代码贴出来看看

多谢各位

将本地的图片资源绘制出来

CBitmap *pOldBmp;
BITMAP bm;
CDC mdc;

m_Bmp->m_hObject = (HBITMAP)::LoadImage(
AfxGetInstanceHandle(),
path, //image路径
IMAGE_BITMAP,
0,
0,
LR_LOADFROMFILE | LR_CREATEDIBSECTION);

mdc.CreateCompatibleDC(pDC);
pOldBmp = mdc.SelectObject(m_Bmp);
m_Bmp->GetBitmap(&bm);

pDC->StretchBlt( point.x, point.y, imageWH.x, imageWH.y, &mdc, imagePoint.x, imagePoint.y, bm.bmWidth, bm.bmHeight, SRCCOPY);

mfc里导入 图片资源,自动生成一个资源id(自己改名也可以)比如IDB_BITMAP1
然后
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);

显示出来的话再接着用dc就可以了

-------------
那试试这样
m_bitmap.m_hObject = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),
_T("对应路径...\\bitmap1.bmp"),
IMAGE_BITMAP,
0, 0,
LR_LOADFROMFILE | LR_CREATEDIBSECTION);

CString path=L"c:\\1.bmp";
HBITMAP hbitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),path, IMAGE_BITMAP,0,0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);

pictureControlID 为图像控件ID
CStatic *pStatic=(CStatic *)GetDlgItem(pictureControlID);
HBITMAP hbitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),path, IMAGE_BITMAP,0,0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
if(hbitmap!=NULL)
{
CBitmap m_bitmap;
m_bitmap.Attach(hbitmap);
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
pStati