使用MemoryStream参数无效

时间:2014-06-20 11:47:15

标签: c#

我需要将字节数组转换为Image类型。我的字节数组包含原始图像,图像有效。我已尝试过net的所有解决方案,但仍然收到错误:

  

参数无效。

以下是我的代码:

byte[] arr = File.ReadAllBytes(@"C:\Users\aa\Desktop\Image.raw");
MemoryStream ms = new MemoryStream(arr,0,arr.Length);        
ms.Seek(0, SeekOrigin.Begin);
Image img = Image.FromStream(ms);
ms.Dispose();                                                                        

我也尝试过:

using(MemoryStream ms = new MemoryStream(arr,0,arr.Length))
{
     //my code 
}

1 个答案:

答案 0 :(得分:2)

Image.FromStream的文档缺少Image.FromFile文档中确实存在的相关部分:

  

托管GDI +具有支持以下文件类型的内置编码器和解码器:

     
      
  • BMP
  •   
  • GIF
  •   
  • JPEG
  •   
  • PNG
  •   
  • TIFF
  •   

您的文件不属于其中一种类型,因此您需要先找出将文件转换为可接受类型的方法。根据您的需要,可以使用ImageMagick的convert工具等工具自动执行此转换,并读取转换结果。