首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么在picture控件中显示用GDI+从路径载入的图片

2012-05-30 
如何在picture控件中显示用GDI+从路径载入的图片我需要把BMP,JPG,JIF,PNG的图片通过选择路径指定文件后显

如何在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控件上面显示的!

我原来弄了一个

热点排行