本文介绍了从C ++中的字节数组创建HICON?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个PNG编码的图标作为内存中的字节数组。从这个字节数组创建HICON对象的推荐方法是什么?
I have a PNG-encoded icon as a byte array in memory. What is the recommended way of creating an HICON object from this byte array?
如果你知道一个没有解决方案的虚拟奖励积分ATL或GDI + ...:)
Imaginary bonus points if you know a solution without ATL or GDI+... :)
推荐答案
HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, dataSize);
LPVOID pImage = GlobalLock(hMem);
memcpy(pImage, pngData, dataSize);
GlobalUnlock(hMem);
ATL::CComPtr<IStream> pStream;
CreateStreamOnHGlobal(hMem, TRUE, &pStream);
Gdiplus::Bitmap *pBitmap = new Gdiplus::Bitmap(pStream);
HICON YOUR_HICON = pBitmap->GetHICON();
这篇关于从C ++中的字节数组创建HICON?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!