请问VS窗体中Picture Control空间显示jpg图片的有关问题
请教VS窗体中Picture Control空间显示jpg图片的问题
问题描述:VS窗体中Picture Control空间显示jpg图片的问题;
该图片可以是本地硬盘上的,也可以是内存中的数据;
如果能先将硬盘中的jpg图片读入内存,再显示,那就更好了
------解决方案--------------------
比较简单的办法是使用IPicture对象(COM对象)
------解决方案--------------------
http://book.51cto.com/art/200806/76619.htm
------解决方案--------------------
CFileDialog dlg(...)报错是参数的问题,你可以参照MSDN的参数说明
------解决方案--------------------
在对跨框的头文件里面 定义成员变量 CString m_strPicPath;
//PostMessage(((CMainFrame*)m_pMainWnd)->GetActiveView()->m_hWnd,
WM_ON_RENDER_PIC,0,0);//这句位自定义消息 你可以注释掉
------解决方案--------------------
问题描述:VS窗体中Picture Control空间显示jpg图片的问题;
该图片可以是本地硬盘上的,也可以是内存中的数据;
如果能先将硬盘中的jpg图片读入内存,再显示,那就更好了
------解决方案--------------------
比较简单的办法是使用IPicture对象(COM对象)
------解决方案--------------------
http://book.51cto.com/art/200806/76619.htm
------解决方案--------------------
CFileDialog dlg(...)报错是参数的问题,你可以参照MSDN的参数说明
------解决方案--------------------
在对跨框的头文件里面 定义成员变量 CString m_strPicPath;
//PostMessage(((CMainFrame*)m_pMainWnd)->GetActiveView()->m_hWnd,
WM_ON_RENDER_PIC,0,0);//这句位自定义消息 你可以注释掉
------解决方案--------------------
void CMyTestPrj2View::OnTestUseCimage()
{
CFileDialog dlg(TRUE);
dlg.DoModal();
CString fName=dlg.GetPathName();
CImage theImg;
int t0=GetTickCount();
HRESULT hr=theImg.Load(fName);
if(SUCCEEDED(hr))
{
int w=theImg.GetWidth();
int h=theImg.GetHeight();
theImg.Draw(GetDC()->GetSafeHdc(),0,0);
}
int dt=GetTickCount()-t0;
TRACE1("Time used:%d\n",dt);
}