2013-03-05 65 views
0

我在TiffBitmapEncoder te= new TiffBitmapEncoder()上创建了多页Tiff; (使用CCITT4)如何将内存流写入tif文件?

然后我把它复制到使用ts.save(ms);

现在这个内存流有很多页的TIFF图像内存流 说MemoryStream ms = new MemoryStream()。我只需要将它写入tiff文件。我不想通过Bitmap.Save(位置,编码,参数)再次编写它,因为使用(long)EncoderValue.CompressionCCITT4会在2003 Windows计算机上产生错误。

我试着将ms重置为位置0并写入图像并保存到图像位置。但是这只写了1页tiff。

我该怎么做?

+4

为什么不直接写入'FileStream'? – 2013-03-05 17:11:35

+0

@JohnSaunders你应该将其作为回答 – 2013-03-05 17:14:14

+0

我怀疑这个说法“内存流有一个多页TIFF图像”已经是错误的,因为它不太可能将任何将MemoryStream复制到文件以更改数据流中的数据的代码。 (同时显示你对'CopyTo'的调用以将内存流复制到文件将证实这一点)。 – 2013-03-05 17:14:25

回答

3

只需直接写入FileStream即可。首先不需要使用MemoryStream