Вопрос

Я использую немного чудо 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();
}

Спасибо

Это было полезно?

Решение

РЕДАКТИРОВАТЬПоследняя сборка Libtift.net.net. Содержит образцы для преобразования системы. 32-битный или 24-битный Цвет LZW сжатые изображения TIFF.

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

Вы также можете просмотреть рассмотрение «Графическое программирование с libtiff.net» Статья в документации. Это должно дать вам основную информацию о создании цветовых файлов TIFF.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top