libtiff.net颜色图像转换
-
08-10-2019 - |
题
我正在使用奇迹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();
}
谢谢
解决方案
编辑最新的建筑 libtiff.net 包含用于转换system.drawing.bitmap的样本 32位 或者 24位 颜色LZW压缩TIFF图像。
还有用于将TIFF图像转换为 32位 或者 24位 system.drawing.bitmaps。/编辑
您可能还想审查 “带有libtiff.net的图形编程” 文档中的文章。它应该为您提供有关创建颜色TIFF文件的基本信息。
免责声明:我是图书馆的维护者之一。
不隶属于 StackOverflow