我需要一種方法來獲取幾個jpgs並將它們轉換爲單頁多頁Tiff。我有使用GDI +的工作,但它只適用於無損壓縮LZW。這意味着我的3個50KB Jpgs變成了3MB的多頁Tiff文件。對於我正在開發的軟件,這不是我能接受的。帶有損壓縮的.NET多頁Tiff
我知道Tiff圖像格式可以使用JPG壓縮方案,但GDI +似乎不支持這一點。
如果有人知道如何在.NET(C#)或任何執行此轉換的組件中執行此操作。
我需要一種方法來獲取幾個jpgs並將它們轉換爲單頁多頁Tiff。我有使用GDI +的工作,但它只適用於無損壓縮LZW。這意味着我的3個50KB Jpgs變成了3MB的多頁Tiff文件。對於我正在開發的軟件,這不是我能接受的。帶有損壓縮的.NET多頁Tiff
我知道Tiff圖像格式可以使用JPG壓縮方案,但GDI +似乎不支持這一點。
如果有人知道如何在.NET(C#)或任何執行此轉換的組件中執行此操作。
BitMiracle LibTiff.net支持JPG(以及其他所有Tiff編解碼器)以及多頁面tiff。我已經使用它,雖然與其他編解碼器結合在一起,並有很好的體驗;它也經過了很好的測試(包括單元測試)。根據LGPL提供。支持也非常好(最近發現文件> 2GB的問題,我的快速反應和更新的代碼)
希望這可以幫助你。對不起,我不禁對這個組件充滿熱情,因爲它幫助了我很多並且是免費的。
我爲Atalasoft工作,我們有.NET工具,可以輕鬆完成。
public void CombineIntoTiff(string outputTiff, params string[] inputFiles)
{
using (FileStream stm = new FileStream(outputTiff, FileMode.Create)) {
TiffEncoder enc = new TiffEncoder();
enc.Compression = TiffCompression.JpegCompression;
enc.Append = true;
foreach (string file in inputFiles) {
AtalaImage image = null;
try { image = new AtalaImage(file); } catch { continue; }
enc.Save(image);
}
}
}
有一點要注意的是,有JPEG壓縮的兩種口味在TIFF,一個由標準和被確認/勉強容忍一個制裁。後者被稱爲舊式JPEG,它被固定在TIFF上,並且導致比TIFF中的任何其他壓縮文件都更多的文件被破壞。上面的代碼將使用符合標準的JPEG壓縮。
從版本2.0開始LibTiff.Net免費提供BSD許可下的所有用途。 – Bobrovsky 2010-08-04 06:13:53
經過許多艱苦的工作設法使用這個庫(BitMiracle LibTiff.Net),結果甚至比需要的更好 - 爲我保存彩色分頁tiff,只需要一半的文件大小。 – 2016-08-09 12:06:47