LibTiff.Net la conversión de imágenes en color
-
08-10-2019 - |
Pregunta
Estoy utilizando Bit milagro LibTiff.Net.
No se puede encontrar ningún código de ejemplo para tomar una imagen en color ARGB 32 bpp y escribir el mapa de bits a un archivo TIFF utilizando esta biblioteca.
¿Alguien más ha intentado esto?
Aquí está mi código de ejemplo. Produce un archivo, pero no puede ser visto por cualquier software que tengo.
editar: Ahora, el código funciona, pero los colores están mal
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();
}
Gracias
Solución
Editar La última versión de LibTiff.Net contiene muestras para la conversión de un System.Drawing.Bitmap a 32 bits o 24-bit LZW color de las imágenes TIFF comprimido.
También hay muestras para la conversión de una imagen TIFF de a 32 bits o System.Drawing.Bitmaps de 24 bits. / EDIT
También puede que desee revisar "programación gráfica con libtiff .Net "artículo en la documentación. Se le debe dar información básica acerca de la creación archivos TIFF en color.
exención de responsabilidad: yo soy uno de los encargados del mantenimiento de la biblioteca
.