我需要将单个tiff文件合并为一个。网上有很多例子看起来都很相似,例如Merge multiple multi-page tiff images to a single tiff C#。
问题在于,所有这些解决方案都将单个单页文件的合并文件大小增加了一倍或两倍。
我只尝试了在线tiff合并工具,但文件大小没有增加,所以我知道它的可能。
有人知道如何使用C#代码减小文件大小吗?
这是我使用的代码。
Bitmap firstImage = new Bitmap(images[0].bitmap);
encoder = System.Drawing.Imaging.Encoder.Saveflag;
encoderInfo = ImagecodecInfo.GetImageEncoders()[3];
encoderParameters = new EncoderParameters(1); //(2)
encoderParameters.Param[0] = new EncoderParameter(encoder,(long)EncoderValue.MultiFrame);
// encoderParameters.Param[1] = new EncoderParameter(Encoder.Compression,(long)EncoderValue.CompressionCCITT4);
firstImage.Save(path,encoderInfo,encoderParameters);
encoderParameters.Param[0] = new EncoderParameter(encoder,(long)EncoderValue.FrameDimensionPage);
// Add the remaining images to the tiff
for (int i = 1; i < images.Count; i++)
{
firstImage.SaveAdd(images[i].bitmap,encoderParameters);
}
// Close out the file
encoderParameters.Param[0] = new EncoderParameter(encoder,(long)EncoderValue.Flush);
firstImage.SaveAdd(encoderParameters);