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

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:13:09  关键字:
  • 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("渲染图像失败!");

    pPic->Release();

    }

    else

    AfxMessageBox("从流中装载图像失败!");

    其中,显示工作主要是由IPicture接口对象的Render函数来完成的,该函数主要用来将图片的指定部分画到指定的设备环境的指定位置。原型如下:

    HRESULT Render( HDC hdc, //渲染图像用的设备环境句柄

    long x, //在hdc上的水平坐标

    long y, //在hdc上的垂直坐标

    long cx, //图像宽度

    long cy, //图像高度

    OLE_XPOS_HIMETRIC xSrc, //在源图像上的水平偏移

    OLE_YPOS_HIMETRIC ySrc, //在源图像上的垂直偏移

    OLE_XSIZE_HIMETRIC cxSrc,//在源图像上水平拷贝的数量

    OLE_YSIZE_HIMETRIC cySrc,//在源图像上垂直拷贝的数量

    LPCRECT prcWBounds //指向目标图元设备环境句柄的指针);

    小结:到此为止,通过上述代码已经能够在程序的客户区内显示JPEG、GIF等标准的图像了,但对于有多帧图片(即有动画)的GIF格式的图像,目前还只能显示第一帧,如要完整的显示GIF 动画的全过程,还需要外部Active X控件的支持。

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:<b>在ATL Browser Helper对象中使用WTL TreeView(英文)</b>
    下一篇:<b>Visual C++中基于多文档视窗模型的重叠图象拼接技术</b>
  • 相关文章