我正在使用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)一样,我决定通过块上传文件。我要感谢大家的帮助。