我有大量的TIFF图像,我需要在WPF程序中使用(特别是.NET 3.5 SP1并使用C#)。一半的TIFF文件包含使用JPEG压缩编码的彩色图像,它们不适用于WPF。 “Microsoft Office Document Imaging”应用程序可以正常处理文件。由于Windows本身并不喜欢它们(例如,不能生成缩略图),我认为这是标准Windows Imaging Components(WIC)库中的限制。
有没有人对如何正确读取使用标准.NET / WPF库的JPEG压缩的TIFF图像有任何想法?
或者有没有人知道WIC的任何备用第三方TIFF编解码器,我可以用它来解决这个问题?
或者最后是否还有可用于WPF的TIFF文件的备用.NET库?
谢谢!
答案 0 :(得分:1)
TIFF包装的JPEG有两种形式 - 类型6和类型7.您所描述的是类型6 TIFF。虽然Adobe多年来一直建议不使用此类型(详见Tech Note 2),但仍有几个图形包使用它。
我知道.NET的一些商业图形包可以读取它们,例如Captiva ISIS PixTools(以前的Pixtran)库,但不知道任何开源或其他免费的。
答案 1 :(得分:1)
您使用什么WPF API来处理它们?
您是否尝试过使用System.Windows.Media.Imaging命名空间中的TiffBitmapDecoder?
答案 2 :(得分:1)
您需要升级到Windows 7,Windows Server 2008(或更高版本)才能本机打开这些文件。
Libtiff(C ++)和LibTIFF.NET(.Net)应该能够打开这些文件。请确保在构建其中一个库时,在构建中启用了TIFF_JPEG(包括6和7)。这些格式在默认构建设置中被禁用。