Tom*_*idd 5 .net c# tiff image
我有一个byte[]数组,其内容代表一个TIFF文件(如果我将这些字节直接写入使用该BinaryWriter对象的文件,它形成一个完全有效的TIFF文件),我试图把它变成一个系统.Drawing.Image对象,以便我可以使用它进行后续操作(输入多页TIFF对象)
我遇到的问题是这个任务的普遍接受的代码:
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms, true);
return returnImage;
}
Run Code Online (Sandbox Code Playgroud)
不适合我.调用Image.FromStream方法的上述方法的第二行在运行时死掉,说
Parameter Not Valid
Run Code Online (Sandbox Code Playgroud)
我相信这个方法很尴尬,因为这是一个TIFF文件,但我无法弄清楚如何让FromStream方法接受这个事实.
如何将TIFF图像的字节数组转换为Image对象?
另外,就像我说的那样,最终目标是有一个表示多页TIFF文件的字节数组,该文件包含我现在有字节数组对象的TIFF文件.如果有更好的方法可以做到这一点,我会全力以赴.
编辑:下面的假设是不正确的,我稍后有机会启动我的 IDE,并在使用和不使用 Write 的情况下进行测试,并且都正确填充了 MemoryStream。
我认为你需要先写入你的 MemeoryStream 。
好像我的记忆(没有双关语)正确地告诉了我:
MemoryStream ms = new MemoryStream(byteArrayIn);
Run Code Online (Sandbox Code Playgroud)
创建该大小的内存流。
然后,您需要将字节数组内容写入内存流:
ms.Write(byteArrayIn, 0, byteArrayIn.Length);
Run Code Online (Sandbox Code Playgroud)
看看是否能解决问题。
| 归档时间: |
|
| 查看次数: |
10611 次 |
| 最近记录: |