LibTiff.Net Farbbildkonvertierung
-
08-10-2019 - |
Frage
Ich verwende Bit Miracle LibTiff.Net.
Ich kann keinen Beispielcode finde eine 32bpp ARGB Farbbild zu nehmen und die Bitmap in eine TIFF mit dieser Bibliothek schreiben.
Hat jemand versucht, diese?
Hier ist mein Beispielcode. Es erzeugt eine Datei, aber es kann nicht durch Software eingesehen werden, daß ich habe.
EDIT: Der Code funktioniert jetzt, aber die Farben sind falsch
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();
}
Danke
Lösung
Bearbeiten Die neueste Version von LibTiff.Net enthält Beispiele für die Umwandlung eines System.Drawing.Bitmap auf 32-Bit oder 24-Bit Farbe LZW-TIFF-Bilder komprimiert werden.
Es gibt auch Proben für die Umwandlung eines TIFF-Bildes auf 32-Bit- oder 24-Bit System.Drawing.Bitmaps. / EDIT
Sie sollten auch "Grafik-Programmierung mit libTIFF überprüfen .net " Artikel in der Dokumentation. Es sollte Ihnen grundlegende Informationen geben über das Erstellen Farbe TIFF-Dateien.
Disclaimer: Ich bin einer der Maintainer der Bibliothek
.