您的位置:首页 > 编程语言 > C语言/C++

利用Cimage将图片编码成Base64——C++方法实现

2013-11-19 19:27 1456 查看
这是将图片转换为base64的函数:

std::string GetImageBase64(CString csImagePath)

{

CImage image;

IStream *pStream = NULL;

HGLOBAL hGlobal = NULL;

image.Load(csImagePath);

image.Save(pStream, ImageFormatPNG);

CreateSteamOnHGlobal(NULL, TRUE, &pStream);

image->Save(pStream,ImageFormatJPEG);

GetHGlobalFromStream(pStream, &hGlobal); // 获取 IStream 的内存句柄

LPBYTE pBits = (LPBYTE)GlobalLock(hGlobal); // pBits 就是存储JPEG内容的内存指针

char *cResult = NULL;

encode_base64(pBits, GlobalSize(hGlobal), &cResult);

std::string strImage = "";

strImage.append(cResult);

return strImage;

}
其中,encode_base64函数将数据编码,网上到处都是,自己找吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: