我爱Aspx >> VC.Net >> <b>在VC下显示JPEG、GIF格式图像的一种简便方法</b>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);
【我对这篇文章有话说?】
<b>用VC设计托盘图标程序&..[05-21]
<b>正确地调用字符串相关的..[05-21]
<b>正确地调用字符串相关的..[05-21]
<b>从赋值运算符的默认实现..[05-21]
<b>从赋值运算符的默认实现..[05-21]
<b>Visual C++编程中的文件..[05-21]
<b>Visual C++中的ODBC编程..[05-21]
<b>常见Visual C++开发使用..[05-21]
<b>常见Visual C++开发使用..[05-21]
<b>应用程序中超文本浏览功..[05-21]