Question

J'utilise Bit Miracle LibTiff.Net.

Je ne peux pas trouver un exemple de code pour prendre une image couleur ARVB 32bpp et écrire le bitmap TIFF en utilisant cette bibliothèque.

Quelqu'un d'autre tentative de cela?

Voici mon exemple de code. Il produit un fichier, mais il ne peut pas être vu par un logiciel que j'ai.

EDIT: Le code fonctionne maintenant, mais les couleurs ne sont pas

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

Merci

Était-ce utile?

La solution

EDIT La dernière version de LibTiff.Net contient des échantillons pour la conversion d'un System.Drawing.Bitmap 32 bits ou 24 bits LZW couleur compressée images TIFF.

Il y a aussi des échantillons pour la conversion d'une image TIFF 32 bits ou de 24 bits de System.Drawing.Bitmaps. / EDIT

Vous pouvez également consulter "programmation graphique avec LibTIFF .Net "article dans la documentation. Il devrait vous donner des informations de base sur la création couleur des fichiers TIFF.

Disclaimer: Je suis l'un des mainteneurs de la bibliothèque

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top