在我的场景中,我在不同的位置有两个 tiff 图像
c:/temp/img1.tiff
和 x:/temp/img2.tiff
。
我需要以编程方式将这些图像合并为一个图像
提出一些想法/代码。
谢谢,
开发
最佳答案
要仅使用框架类来做到这一点,您基本上是这样做的:
- 将每个 TIFF 图像加载到位图对象中,例如使用
Image.FromFile
。 - 使用编码器参数保存第一页
Encoder.SaveFlag
=EncoderValue.MultiFrame
- 使用
Bitmap.SaveAdd
() 将每个后续页面保存到同一文件,编码器参数为Encoder.SaveFlag
=EncoderValue.FrameDimensionPage
它看起来像这样:
ImageCodecInfo tiff = null;
foreach ( ImageCodecInfo codec in ImageCodecInfo.GetImageEncoders() )
{
if ( codec.MimeType == "image/tiff" )
{
tiff = codec;
break;
}
}
Encoder encoder = Encoder.SaveFlag;
EncoderParameters parameters = new EncoderParamters(1);
parameters.Param[0] = new EncoderParameter(encoder, (long)EncoderValue.MultiFrame);
bitmap1.Save(newFileName, tiff, parameters);
parameters.Param[0] = new EncoderParameter(encoder, (long)EncoderValue.FrameDimensionPage);
bitmap2.SaveAdd(newFileName, tiff, paramters);
parameters.Param[0] = new EncoderParameter(encoder, (long)EncoderValue.Flush);
bitmap2.SaveAdd(parameters);
关于c# - 使用 c#.net 合并两个 tiff 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6548771/