2008-11-18 112 views
4

我有大量的TIFF图像,我需要在WPF程序(特别是.NET 3.5 SP1和使用C#)中使用。一半的TIFF文件包含使用JPEG压缩编码的彩色图像,并且它们不适用于WPF。 “Microsoft Office Document Imaging”应用程序可以很好地处理文件。由于Windows本身并不真的喜欢它们(例如不能生成缩略图),我认为这是标准Windows Imaging Components(WIC)库中的限制。WPF:JPEG压缩的TIFF图像?

有没有人有任何想法如何正确读取使用标准的.NET/WPF库JPEG压缩的TIFF图像?

还是有人知道任何替代的第三方TIFF编解码器的WIC,我可能能够用来解决这个问题?

或者最后是否有任何替代.NET库的TIFF文件仍然可以轻松地与WPF一起使用?

谢谢!

回答

1

TIFF包装的JPEG有两种口味 - 类型6和类型7.您所描述的是类型6 TIFF。虽然Adobe多年来一直建议不使用此类型(有关详细信息,请参阅Tech Note 2),但仍有几个图形包仍在使用它。

我知道一些用于.NET的商业图形软件包,可以读取它们,例如Captiva ISIS PixTools(以前称为Pixtran)库,但不知道任何开源软件或其他免费软件。

+0

其实他们是7型文件(它们是由我们编写的Win32应用程序创建的,我检查了源代码)。 Microsoft Office Document Imaging可以打开它们,但其他Microsoft工具无法处理它们(例如,Paint或Windows图片和传真查看器)。 – 2008-11-18 07:33:37

1

你用什么WPF API来处理它们?

您是否尝试过使用System.Windows.Media.Imaging命名空间中的TiffBitmapDecoder

+0

我只是试图使用Image组件。我尝试了MSDN文章中的示例代码虽然它对其他文件起作用,但JPEG压缩图像在尝试对文件进行解码时都会生成0x88982F40例外 – 2008-11-18 07:46:30

1

为了在本地打开这些文件,您需要升级到Windows 7,Windows Server 2008(或更新版本)。

Libtiff(C++)和LibTIFF.NET(.Net)应该能够打开这些文件。请确保在构建其中一个库时,在构建中启用了TIFF_JPEG(包括6和7)。这些格式在默认版本设置中被禁用。

+0

有趣!感谢您对这个非常古老的主题发表评论。在默认版本中是否启用TIFF_JPEG? 2)与WPF或WIC内置的兼容性? – 2011-10-26 01:06:29