Преобразование цветных изображений LibTiff.Net

Я использую Bit Miracle LibTiff.Net.

Я не могу найти пример кода для получения цветного изображения 32bpp ARGB и записи растрового изображения в TIFF с использованием этой библиотеки.

Кто-нибудь еще пытался это сделать?

Вот мой пример кода. Он создает файл, но его нельзя просмотреть ни в одном программном обеспечении, которое у меня есть.

EDIT: теперь код работает, но цвета неправильные!

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();
}

Спасибо


person Jim    schedule 18.10.2010    source источник


Ответы (1)


РЕДАКТИРОВАНИЕ Последняя сборка LibTiff.Net содержит примеры преобразования файла System. Drawing.Bitmap в 32-bit или 24-битные цветные LZW-сжатые изображения TIFF.

Также есть примеры преобразования изображения TIFF в 32-битный или 24-bit System.Drawing.Bitmaps. /РЕДАКТИРОВАТЬ

Вы также можете ознакомиться с программированием графики с помощью LibTiff.Net (часть 1, часть 2) статья в документации. Он должен дать вам основную информацию о создании цветных файлов TIFF.

Отказ от ответственности: я являюсь одним из сопровождающих библиотеки.

person Bobrovsky    schedule 18.10.2010