高校计算机

3773考试网计算机等级考试高校计算机正文

VC实现JPG图片加载

来源:fjzsksw.com 2009-11-4 10:37:54

在OnDraw()函数中添加如下的代码,并在工程目录下放入test.jpg的图片。

  IPicture *pPic;

  IStream *pStm;

  CFileStatus fstatus;

  CFile file;

  LONG cb;

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

[1] [2] 下一页

触屏版 电脑版
3773考试网 琼ICP备12003406号-1