我试图将位图列表写入 tif
在标准的 .net 代码中,tif 变成了一个巨大的文件,我理解这是因为它不支持 jpeg 压缩
研究表明 libtiff 应该能够处理这个问题,尽管我找不到任何将位图写入文件的简单示例
这是我所拥有的(基本上是从文档中复制粘贴的)
Sub MakeTiff(Input As List(Of Bitmap))
Dim fileName As String = "random.tif"
Using output As Tiff = Tiff.Open(fileName, "w")
For Each item In Input
output.SetField(TiffTag.IMAGEWIDTH, 100)
output.SetField(TiffTag.IMAGELENGTH, 100)
output.SetField(TiffTag.SAMPLESPERPIXEL, 1)
output.SetField(TiffTag.BITSPERSAMPLE, 8)
output.SetField(TiffTag.ORIENTATION, Orientation.TOPLEFT)
output.SetField(TiffTag.ROWSPERSTRIP, 100)
output.SetField(TiffTag.XRESOLUTION, 88.0)
output.SetField(TiffTag.YRESOLUTION, 88.0)
output.SetField(TiffTag.RESOLUTIONUNIT, ResUnit.INCH)
output.SetField(TiffTag.PLANARCONFIG, PlanarConfig.CONTIG)
output.SetField(TiffTag.PHOTOMETRIC, Photometric.MINISBLACK)
output.SetField(TiffTag.COMPRESSION, Compression.NONE)
output.SetField(TiffTag.FILLORDER, FillOrder.MSB2LSB)
Dim bd = item.GetData
Dim offset = 0
For i = 0 To bd.Height
output.WriteScanline(bd.Bytes, offset, i, 0)
offset += bd.Stride
Next
output.WriteDirectory()
Next
End Using
Process.Start(fileName)
End Sub
但最终结果是文件损坏。
我真的不明白所有这些设置,我所需要的只是以某种方式将 jpg 添加到 tiff
任何人都可以帮助提供代码片段吗?或其他免费/低成本的压缩 tiff 创作者?
谢谢