mfc 显示图片

怎么在按MFC的打开之后打开一个图片让图片显示在MFC窗体里... 怎么在按MFC的打开之后打开一个图片让图片显示在MFC窗体里 展开
 我来答
神武将军43e1
2008-07-01 · 超过14用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:45.8万
展开全部
BOOL CDib::DrawDib(HDC hDC,
LPRECT lpDCRect,
HGLOBAL hDIB,
LPRECT lpDIBRect,
CPalette* pPal)
{
BOOL bSuccess=FALSE; // 重画成功标志
HPALETTE hOldPal=NULL; // 以前的调色板
if (hDIB == NULL)// 判断是否是有效的DIB对象
{
return FALSE;// 不是,则返回
}
lpdib = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);// 锁定DIB
lpDIBBits = GetBits(lpdib);// 找到DIB图象像素起始位置
if (pPal != NULL)// 获取DIB调色板,并选取到设备环境中它
{
HPALETTE hPal = (HPALETTE) pPal->m_hObject;
hOldPal = ::SelectPalette(hDC, hPal, TRUE);
}
::SetStretchBltMode(hDC, COLORONCOLOR);// 设置显示模式
bSuccess = ::StretchDIBits(hDC, // 设备环境句柄
lpDCRect->left, //目标X坐标
lpDCRect->top, // 目标Y坐标
GetRectWidth(lpDCRect), // 目标宽度
GetRectHeight(lpDCRect), // 目标高度
lpDIBRect->left, // 源X坐标
lpDIBRect->top, // 源Y坐标
GetRectWidth(lpDIBRect), // 源宽度
GetRectHeight(lpDIBRect), // 源高度
lpDIBBits, // 指向dib像素的指针
(LPBITMAPINFO)lpdib, // 指向位图信息结构的指针
DIB_RGB_COLORS, // 使用的颜色数目
SRCCOPY); // 光栅操作类型
::GlobalUnlock(hDIB); // 解除锁定
if (hOldPal != NULL)// 恢复系统调色板
{
::SelectPalette(hDC, hOldPal, TRUE);
}
return bSuccess;
}

在视图ondraw函数中调用上面的函数,即可实现画图.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式