1

私はビットミラクルLibTiff.Netを使用しています。

32bpp ARGBカラー画像を取得し、このライブラリを使用してビットマップをTIFFに書き込むサンプルコードが見つかりません。

他の誰かがこれを試みましたか?

これが私のサンプルコードです。ファイルは作成されますが、私が持っているソフトウェアでは表示できません。

編集:コードは機能するようになりましたが、色が間違っています!

public static void WriteTiff(Image image, string fileName)
{
    Bitmap target = image as Bitmap;
    BitmapData bmd = target.LockBits(
        target.GetRectangle(),
        ImageLockMode.ReadOnly,
        PixelFormat.Format32bppArgb);
    var bits = new byte[bmd.Stride * bmd.Height];
    Marshal.Copy(bmd.Scan0, bits, 0, bits.Length);
    target.UnlockBits(bmd);

    Tiff tiff = Tiff.Open(fileName, "w");
    tiff.SetField(TiffTag.IMAGEWIDTH, target.Width);
    tiff.SetField(TiffTag.IMAGELENGTH, target.Height);
    tiff.SetField(TiffTag.COMPRESSION, Compression.NONE);
    tiff.SetField(TiffTag.PHOTOMETRIC, Photometric.RGB);
    tiff.SetField(TiffTag.BITSPERSAMPLE, 8);
    tiff.SetField(TiffTag.SAMPLESPERPIXEL, 4);
    tiff.SetField(TiffTag.ROWSPERSTRIP, target.Height);
    tiff.SetField(TiffTag.PLANARCONFIG, PlanarConfig.CONTIG);

    tiff.WriteEncodedStrip(0, bits, bits.Length);
    tiff.Close();
}

ありがとう

4

1 に答える 1

1

編集LibTiff.Net の最新ビルドには、System.Drawing.Bitmap を32 ビットまたは24 ビットカラーの LZW 圧縮 TIFF イメージに変換するためのサンプルが含まれています。

TIFF 画像を32 ビットまたは24 ビットのSystem.Drawing.Bitmap に変換するためのサンプルもあります。/編集

また、ドキュメントの「LibTiff.Net を使用したグラフィックス プログラミング」(パート 1パート 2 ) の記事を確認することもできます。カラー TIFF ファイルの作成に関する基本的な情報を提供する必要があります。

免責事項: 私はライブラリの管理者の 1 人です。

于 2010-10-18T17:57:02.063 に答える