繁体   English   中英

字节数组到图像异常,参数无效

[英]Byte array to image exception, parameter is not valid

我无法通过常用方法将字节数组转换为图像,例如:

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 字节数组长度。

它应该显示黑色图像,但它没有

我使用了一个由零值启动的 4 字节数组长度。

API 需要有效的图像流; 值为零的 4 个字节不是有效的图像流。 该方法将检查流,尝试识别图像格式(流与文件大致相当,除非没有任何文件名的概念)——它不仅仅是在寻找像素数据。 这意味着它将寻找它识别的图像头(例如,png 总是以字节值 137 80 78 71 13 10 26 10 开头); 一旦它确定了格式,它就会想要解码图像标题(尺寸、颜色深度、可能是调色板等),然后最后可能会有一些像素数据 - 或者可能没有,如果它不是像素格式(它可以是矢量图像格式)。 所以; 很多事情需要考虑的不仅仅是一些像素数据。

如果你想要一个黑色图像:也许从Bitmap开始 - 也许看这个答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM