我有一个byte[]
数组,其内容代表一个TIFF文件(如果我使用BinaryWriter
对象直接将这些字节写出到一个文件中,它将形成一个完全有效的TIFF文件),并且我试图转向它变成为System.Drawing.Image对象,这样我可以用它来操纵以后(送入一个多页TIFF对象)如何获取TIFF图像的字节数组并将其转换为System.Drawing.Image对象?
我遇到的问题是,这一任务通常接受的代码:
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms, true);
return returnImage;
}
不适用于我。它调用Image.FromStream
方法死在运行时,上面方法的第二行,说
Parameter Not Valid
我认为,该方法的事实,这是一个TIFF文件,但我无法弄清楚如何使窒息FromStream
方法接受这个事实。
如何将TIFF图像的字节数组转换为Image对象?
另外,就像我说的,最终目标是让一个字节数组代表一个多页TIFF文件,它包含我现在拥有字节数组对象的TIFF文件。如果有更好的方法可以做到这一点,我完全赞成。
为了获得更好的性能,只需设置ms.Length和ms.Position,而不是再次调用ms.Write。 – 2011-05-28 16:41:59