我无法通过常见方法将字节数组转换为图像,例如:
using (var ms = new MemoryStream(byteArrayIn))
{
return Image.FromStream(ms); ->exception
}
和
System.Drawing.ImageConverter converter = new System.Drawing.ImageConverter();
Image img = (Image)converter.ConvertFrom(ImgInBytes); -> exception
例外是 参数无效
此外,我使用了一个4字节的数组长度,该长度由零值开始。
它应该显示为黑色图像,但没有显示
答案 0 :(得分:2)
我使用了一个4字节的数组长度,该长度由零值开始。
API需要有效的图像流;值为零的4个字节不是有效的图像流。该方法将检查流,尝试识别图像格式(流没有文件名的任何概念,流与文件大致相当)-它不仅在寻找像素数据。这意味着它将寻找它能识别的图像头(例如,png总是以字节值137 80 78 71 13 10 26 10开头);一旦确定了格式,就需要解码图像标题(尺寸,颜色深度,可能是调色板等),然后最终可能会有一些像素数据-或可能没有,如果它不是像素格式(可以是矢量图像格式)。所以;除了一些像素数据以外,还有很多 需要考虑。
如果您想要黑色图像:也许以Bitmap
开头-也许会看到this answer