比较好的一段打开位图的函数

来源:互联网 发布:unity3d 7.1安装教程 编辑:程序博客网 时间:2024/06/13 03:15
void CPicShowDlg::OnOpen() 
{
// TODO: Add your control notification handler code here
CFileDialog dlg(TRUE,"bmp",".bmp",OFN_HIDEREADONLY,"BMP Files(*.bmp)|*.bmp||"); 

if(dlg.DoModal() != IDOK)  
{  
return;
}
m_path = dlg.GetPathName(); //获得图片路径
UpdateData(false); //更新路径公共变量
ShowPic();   //调用显示图片函数

}




void CPicShowDlg::ShowPic() 
{
if(m_path=="")        //判断图片路径是否存在
{
return;
}
pWnd = GetDlgItem(IDC_Showing);
hDesDC = pWnd->GetDC()->m_hDC;
hSrcDC = CreateCompatibleDC(hDesDC);
hBitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),m_path,IMAGE_BITMAP,0,0,
LR_LOADFROMFILE|LR_CREATEDIBSECTION);
GetObject(hBitmap, sizeof(BITMAP), &bm);
SelectObject(hSrcDC, hBitmap);
pWnd->GetClientRect(&rect);
::SetStretchBltMode(hDesDC,COLORONCOLOR);       
::StretchBlt(hDesDC, rect.left, rect.top, rect.right, rect.bottom, hSrcDC,
0, 0, bm.bmWidth, bm.bmHeight,+SRCCOPY);
UpdateData(false);
}
0 0
原创粉丝点击