• 您的位置我爱Aspx >> VC.Net >> <b>在VC下显示JPEG、GIF格式图像的一种简便方法</b>
  • <b>在VC下显示JPEG、GIF格式图像的一种简便方法</b>

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:14:01  关键字:
  • 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));

    由于该函数有时会导致失败,所以应当用SUCCEEDED宏来做一些适当的保护工作,只有在数据装载成功的前提下才能继续下面的图像显示工作:

    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);

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:<b>如何创建无模式对话框</b>
    下一篇:<b>用VC设计托盘图标程序</b>
  • 相关文章