3

複数の jpg を取得して、それらを 1 つの複数ページの Tiff に変換する方法が必要です。GDI+ を使用して動作していますが、ロスレスの圧縮 LZW でのみ動作します。これは、3 つの 50KB の Jpg が 3MB のマルチページ Tiff ファイルになることを意味します。これは、私が取り組んでいるソフトウェアでは受け入れられません。

Tiff イメージ形式で JPG 圧縮スキームを使用できることは知っていますが、GDI+ はこれをサポートしていないようです。

誰かが.NET(C#)またはこの変換を行うコンポーネントでこれを行う方法を知っている場合。

4

2 に答える 2

3

BitMiracle LibTiff.netは、JPG (おそらく他のすべての Tiff コーデックと共に) とマルチページ tiff をサポートしています。他のコーデックと組み合わせて使用​​しましたが、非常に良い経験がありました。また、十分にテストされています (単体テストが含まれています)。LGPLで利用可能。サポートも非常に良好です (最近、2 GB を超えるファイルに問題が見つかり、迅速な対応とコードの更新を行いました)

これがお役に立てば幸いです。申し訳ありませんが、このコンポーネントは非常に役に立ち、無料であるため、このコンポーネントに熱中せずにはいられません。

于 2010-06-02T05:50:15.297 に答える
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);
        }
    }
}

注意すべきことの 1 つは、TIFF の JPEG 圧縮には 2 つのフレーバーがあることです。後者は、古いスタイルの JPEG と呼ばれ、TIFF にボルトで固定されており、TIFF の他のどの圧縮よりも多くの壊れたファイルの原因となっています。上記のコードは、標準準拠の JPEG 圧縮を使用します。

于 2010-06-04T13:15:34.540 に答える