【问题标题】:Image.FromStream( MemoryStream object )Image.FromStream(内存流对象)
【发布时间】:2017-04-14 04:09:26
【问题描述】:
using (MemoryStream mem = new MemoryStream(data))
{
 System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(mem);
}

这是我正在使用的代码。问题是,只要该调试器处理此行:

System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(mem);

它给出了一个错误参数 invalid 。所以在我检查了“mem”的参数之后 在调试时,我注意到位置参数每次都设置为零。

我注意到这里还有一件事: 当我从以 url 开头的源接收图像时:external.xx.fbcdnsafe ... position 参数未设置为某个值并且始终设置为零,这就是我收到错误的时间。请参考屏幕截图。

但是对于以 URL 开头的图像:scontent.xx.fbcdn.n... 位置参数正在设置一些值。请参考截图。

For external Sources : url starting with external.xx.fbcdn.net For scontent Sources : url starting with scontent.xx.fbcdn.net

【问题讨论】:

    标签: c#


    【解决方案1】:

    当流的格式无法识别为图像时,您会收到“参数无效”异常。见

    "Parameter not valid" exception loading System.Drawing.Image

    检查您从 scontent.xx.fbcdn.n... URL 接收到的数据内容。可能是 404 错误,或者其他一些内容,而不是有效的图像数据。

    【讨论】:

    • 谢谢...我猜来自 external.xx.fbcdn 的图像不是有效图像或格式不正确,因此这可能会在解析该图像时产生问题...
    猜你喜欢
    • 2023-03-11
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2023-03-22
    • 2011-09-03
    相关资源
    最近更新 更多