none
如何通过一个byte数组生成HBITMAP或者CBitmap? RRS feed

  • 问题

  • 现在有了图片的byte[]数组,怎么才能生成一个HBITMAP呢?只找到根据文件名生成的方法,请大家帮忙
    2009年6月9日 10:00

答案

  • 下面是以前用过的C#的例子,思路可供楼主参考:
    byte[] bytesBitmap;是图片的byte[]数组。
    string strBitmapName;是图片名称。

    C# code
        System.IO.MemoryStream ms;
                System.IO.BinaryWriter bw;
                System.Drawing.Image imgData;
                System.Drawing.Image imgRet = null;

                using (ms = new MemoryStream())
                using (bw = new BinaryWriter(ms))
                {
                    bw.Write(bytesBitmap, 0, bytesBitmap.Length);
                    bw.Flush();
                    imgData = System.Drawing.Image.FromStream(ms);
                    imgRet = (System.Drawing.Image)imgData.Clone();
                    imgRet.Save("C:\\" + strBitmapName);
                }

     

    通过Image.GetHowFromImage();
    可以得到位图的句柄。

    2009年6月9日 10:09