如何显示JPG和GIF文件?

xiangzaizai 2003-08-19 12:43:32
请部在MFC中给出文件名用什么控件如何显示JPG与GIF文件
...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
BSRONG 2003-08-21
  • 打赏
  • 举报
回复
用microsoft Web Browser 就可以显示
只要用一个函数Navigate("FileName.jpg",NULL,NULL,NULL....)即可
xiangzaizzai 2003-08-21
  • 打赏
  • 举报
回复
谢谢各位大哥,你们的方法好多啊,我去试试,不知道能不能分别给分,不行的话我就挑个效果最好的给吧?谢谢:)
alickguo 2003-08-19
  • 打赏
  • 举报
回复
详见 www.vckbase.com 第15期
alickguo 2003-08-19
  • 打赏
  • 举报
回复
给你一个源码:
http://210.34.48.48/h03/alick/myimgapp.zip
prettywolf 2003-08-19
  • 打赏
  • 举报
回复
最直接的用法:
void ShowPic(char *filename,CDC *pDC){
IPicture *pPic;
IStream *pStm;

CFileStatus fstatus;
CFile file;
LONG cb;

if (file.Open(filename,CFile::modeRead)&&file.GetStatus(filename,
fstatus)&&
((cb = fstatus.m_size) != -1))
{
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, cb);
LPVOID pvData = NULL;
if (hGlobal != NULL)
{
if ((pvData = GlobalLock(hGlobal)) != NULL)
{
file.ReadHuge(pvData, cb);
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal, TRUE, &pStm);

if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*
)&pPic)))
{
OLE_XSIZE_HIMETRIC hmWidth;
OLE_YSIZE_HIMETRIC hmHeight;

pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);

double fX,fY;
fX = (double)pDC->GetDeviceCaps(HORZRES)*(double)hmWidth/((double)pDC->GetDeviceCaps(HORZSIZE)*100.0);
fY = (double)pDC->GetDeviceCaps(VERTRES)*(double)hmHeight/((double)pDC->GetDeviceCaps(VERTSIZE)*100.0);
if(FAILED(pPic->Render(*pDC,0,0,(DWORD)fX,(DWORD)fY,0,hmHeight,hmWidth,-hmHeight,NULL)))
AfxMessageBox("Failed To Render The picture!");
pPic->Release();
}
else
AfxMessageBox("Error Loading Picture From Stream!");
}
}
}
else
AfxMessageBox("Can't Open Image File!");
}
孤必有邻 2003-08-19
  • 打赏
  • 举报
回复
如果不够,这里也有个例子:
http://www.yangning.com/cgi-bin/topic.cgi?forum=1&topic=8&show=0

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧