2008-11-18 117 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