龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

使VC显示jpg gif图像(2)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
为简单计,图形显示的代码直接在视类中的OnDraw中编写,首先打开文件并判断文件的可用性,并把文件内容放到流接口IStream的对象pStm中: IStream *pStm; CF

  为简单计,图形显示的代码直接在视类中的OnDraw中编写,首先打开文件并判断文件的可用性,并把文件内容放到流接口IStream的对象pStm中:   

  IStream *pStm;

  CFileStatus fstatus;

  CFile file;

  LONG cb;

  ……

  if (file.Open(m_Path,CFile::modeRead)&&file.GetStatus(m_Path,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);

    }

   }

  }

 然后,就直接调用OleLoadPicture函数从流中装载图像:   

  IPicture *pPic;

  ……

  OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic));

精彩图集

赞助商链接