首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

用什么函数能显示内存中的.bmp .jpg图像?解决方案

2013-10-21 
用什么函数能显示内存中的.bmp .jpg图像?OleLoadPicture不支持jpg格式,我现在是先把内存中的图像写入文件,

用什么函数能显示内存中的.bmp .jpg图像?
OleLoadPicture不支持jpg格式,我现在是先把内存中的图像写入文件,再用OleLoadPicturePath显示,有没有其它更好的方法?
[解决办法]
CXImage库,在codeproject网站上可以下载源码。
[解决办法]
gdi+ 可以从流(IStream) 打开文件, 把内存转换成流, 比较简单的


HBITMAPNGdi::LoadBitmap(BYTE *pImgDat, int nSize)
{
Gdiplus::Bitmap*pBm;
Gdiplus::ColorcrBk;
Gdiplus::StatusnRetVal;
IStream*pStream;
HGLOBALhMem;
VOID*pDat;
HBITMAPhBitmap;

crBk = Gdiplus::Color::White;
GdiPlusInit();
hMem = GlobalAlloc(GMEM_FIXED, nSize);
CreateStreamOnHGlobal(hMem, FALSE, &pStream);
pDat = GlobalLock(hMem);
memcpy(pDat, pImgDat, nSize);

pBm = pBm->FromStream(pStream);
nRetVal = pBm->GetHBITMAP(crBk, &hBitmap);
delete pBm;

GlobalUnlock(pDat);
GlobalFree(hMem);
pStream->Release();
return hBitmap;
}

热点排行