Image.FromStream(MemoryStream对象)

时间:2017-04-14 04:09:26

标签: c#

using (MemoryStream mem = new MemoryStream(data))
{
 System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(mem);
}

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

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

它使错误参数无效。所以在我检查" mem"的参数之后 在调试时,我注意到position参数每次都设置为零。

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

但对于以URL开头的图片:scontent.xx.fbcdn.n ... position参数设置了一些值。请参阅截图。

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

1 个答案:

答案 0 :(得分:0)

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

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

检查您从scontent.xx.fbcdn.n ...网址收到的数据的内容。也许它们是404错误或其他一些内容,而不是有效的图像数据。