gpt4 book ai didi

c# - 使用内存流将二进制转换为位图

转载 作者:可可西里 更新时间:2023-11-01 08:39:43 27 4
gpt4 key购买 nike

您好,我想将二进制数组转换为位图并在 picturebox 中显示图像。我编写了以下代码,但出现异常,提示参数无效。

  public static Bitmap ByteToImage(byte[] blob)
{
MemoryStream mStream = new MemoryStream();
byte[] pData = blob;
mStream.Write(pData, 0, Convert.ToInt32(pData.Length));
Bitmap bm = new Bitmap(mStream);
mStream.Dispose();
return bm;

}

最佳答案

这实际上取决于 blob 中的内容。它是否是有效的位图格式(如 PNG、BMP、GIF 等?)。如果它是关于位图中像素的原始字节信息,则不能那样做。

在行 Bitmap bm = new Bitmap(mStream); 之前使用 mStream.Seek(0, SeekOrigin.Begin) 可能有助于将流倒回到开头.

public static Bitmap ByteToImage(byte[] blob)
{
using (MemoryStream mStream = new MemoryStream())
{
mStream.Write(blob, 0, blob.Length);
mStream.Seek(0, SeekOrigin.Begin);

Bitmap bm = new Bitmap(mStream);
return bm;
}
}

关于c# - 使用内存流将二进制转换为位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13913353/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com