读书人

怎么在picture控件中显示用GDI+从路径

发布时间: 2012-05-30 20:20:04 作者: rapoo

如何在picture控件中显示用GDI+从路径载入的图片
我需要把BMP,JPG,JIF,PNG的图片通过选择路径指定文件后显示在屏幕上,不过现在我用GDI+只能显示在文档里。现在我需要把图片显示到VC6.0的pirture控件中,我却不会弄过去了,希望会的告诉下,我是新手,希望详细些。(最好能使picture控件随着图像的大小而变化)谢谢了!!!

[解决办法]
为什么非要在picture控件中?

看看这个http://search.download.csdn.net/search/FlashThumb
[解决办法]
能把图像显示在picture控件里,但是要使picture控件跟图像大小一起变比较麻烦,
不知道你是基于什么考虑的?图像显示完全可以在VIEW中做啊
[解决办法]
楼主的意思应该是把图片拉伸显示吧,
而且,这种应用应该在对话框上,没错吧。

建议去下载一个FreeImage,支持多种格式的图片显示 和 格式互转换。
http://freeimage.sourceforge.net/download.html
可以下载pdf去学习。

另外一种就是用CPicture 和 CPictureEx相互配合,但是相对比较麻烦,我之前做的界面就是用了这种方法的,FreeImage是后来才知道的。
[解决办法]
void CSingleDocDlg::OnOpen()
{
CString cs ,m_creadname;
CFileDialog wmSelectDlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST,
_T("BMP Files(*.bmp)|*.bmp|All Files(*.*)|*.*||"), NULL);
if (IDOK == wmSelectDlg.DoModal())


cs = wmSelectDlg.GetPathName();

HBITMAP bitmap=(HBITMAP)LoadImage(NULL,cs,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);

CBitmap bmp;
if(!bmp.Attach(bitmap))
{
MessageBox("导入图像失败!","提示",MB_OK);
return;
}
CRect rect ;
CDC dcMemory;
CWnd h_wnd ;
//CDC* pDC=GetDC();
CDC *pDC=(CDC*)GetDlgItem(IDC_IMAGESHOW)->GetWindowDC();
dcMemory.CreateCompatibleDC(pDC);
GetClientRect(rect) ;
dcMemory.SelectObject(&bmp);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcMemory,0,0,SRCCOPY);
//pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcMemory,0,0,640*1.5, 480, SRCCOPY);
ReleaseDC(pDC);



return;

}


这个程序能实现bmp在picture控件上的显示 但是不能自适应显示。
[解决办法]
可以在picture控件上面显示的!

我原来弄了一个

读书人网 >VC/MFC

热点推荐