将图片转换为字节数组时的OutofMemory例外



我正在使用Windows Phone,我需要将手机中的图像转换为字节阵列,但问题是VisualStudio抛出了Outofmemory异常。

有什么方法可以避免此错误?还是另一种方式?

public static byte[] GetBytes(Picture p)
{
    byte[] buffer=new byte[p.GetImage().Length];
    p.GetImage().Read(buffer, 0, buffer.Length);
    return buffer;
}

图像太大而无法进行内存。.在System.IO中使用Stream将其流式传输并保存。那是最有效的。

您需要使用Memorystream,例如:

public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
 MemoryStream ms = new MemoryStream();
 imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
 return  ms.ToArray();
}

请参阅如何转换字节数组中的图像

好的,我找到了另一种上传图像的方法,现在它没有引发异常。就像史蒂文·米尔斯(Steven Mills)一样,我决定通过块上传文件。我要感谢大家的帮助。

相关内容

  • 没有找到相关文章

最新更新