MFC笔记八:picture控件上显示图像

void Process::displayimage(char* path)
{
	//在界面上显示图像
	CString strFilePath;
	strFilePath.Format("%s", path);
	//使用CImage的Load、Draw函数显示图像
	CImage image;
	image.Load(strFilePath);
	//w = image.GetWidth(); //学习下CImage的属性,无其他意义
	//h = image.GetHeight();
	//获取控件的矩形
	CRect rectControl;  //控件矩形对象
	CWnd  *pWnd = GetDlgItem(IDC_STATIC_SHOW); //Picture Control的ID
	pWnd->GetClientRect(&rectControl);
	//以控件为画布,在其上画图
	CDC *pDc = GetDlgItem(IDC_STATIC_SHOW)->GetDC();
	SetStretchBltMode(pDc->m_hDC, STRETCH_HALFTONE);//绘图前必须调用此函数(设置缩放模式),否则失真严重
	image.Draw(pDc->m_hDC, rectControl); //将图片绘制到Picture控件表示的矩形区域
	//释放资源
	image.Destroy();
	pWnd->ReleaseDC(pDc);
	Sleep(1000);//单位ms
}

    // 图像保存
        HRESULT hResult = image.Save(strFileName);
        if (FAILED(hResult))
            MessageBox(_T("保存图像文件失败!"));

参考:https://www.cnblogs.com/xixixing/p/12678709.html

你可能感兴趣的:(VS2013编程,visual,studio,code,windows,mfc)