19,468
社区成员
发帖
与我相关
我的任务
分享
using namespace Gdiplus;
...
Bitmap* pBmp = Bitmap::FromHBITMAP(bm, NULL); // 从HBITMAP创建一个Bitmap
IStream* pStream = NULL;
CreateStreamOnHGlobal(NULL, TRUE, &pStream); // 创建一个 IStream
CLSID jpgClsid;
GetEncoderClsid(L"image/jpeg", &jpgClsid);
pBmp->Save(pStream, &jpgClsid); // 把 Bitmap 的内容编码到 IStream 中
HGLOBAL hGlobal = NULL;
GetHGlobalFromStream(pStream, &hGlobal); // 获取 IStream 的内存句柄
LPBYTE pBits = (LPBYTE)GlobalLock(hGlobal); // pBits 就是存储JPEG内容的内存指针
// do something
....
GlobalUnlock(hGlobal);
pStream->Release();