我需要一种方法来获取几个jpgs并将它们转换为单个多页面Tiff。我有使用GDI +,但它只适用于无损压缩LZW。这意味着我的3个50KB Jpgs变成3MB多页Tiff文件。对于我正在处理的软件,我不能接受这一点。
我知道Tiff Image格式可以使用JPG压缩方案,但GDI +似乎不支持这种方式。
如果有人知道如何在.NET(C#)或执行此转换的任何组件中执行此操作。
答案 0 :(得分:3)
BitMiracle LibTiff.net支持JPG(以及所有其他Tiff编解码器)以及多页tiff。我使用它,虽然与其他编解码器结合使用,并且有很好的使用经验;它也经过了很好的测试(包括单元测试)。在LGPL下可用。支持也非常好(最近发现文件中的问题> 2GB以及我快速响应和更新的代码)
希望这会对你有所帮助。对不起,我不禁对这个组件充满热情,因为它帮助了我很多并且是免费的。
答案 1 :(得分:1)
我为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);
}
}
}
有一点需要注意的是,TIFF中有两种JPEG压缩方式,一种是由标准认可的,另一种是公认的/几乎不能容忍的。后者称为旧式JPEG,用螺栓固定在TIFF上,导致文件比TIFF中的任何其他压缩文件更多。上面的代码将使用符合标准的JPEG压缩。