使用c#.net合并两个tiff图像 [英] Merging two tiff image using c#.net

查看:151
本文介绍了使用c#.net合并两个tiff图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的场景中,我在不同的位置有两个tiff图像说

In my scenario i have two tiff image in different location say

c:/temp/img1.tiff x:/temp/img2.tiff

我需要以编程方式将这些图像合并为单个图像

I need to merge these images as a single image programatically

建议一些想法/代码。

谢谢,

Dev

推荐答案

要仅使用Framework类,基本上这样做:

To do this using just the Framework classes, you basically do this:


  1. 将每个TIFF图像加载到位图中对象,例如使用 Image.FromFile

  2. 使用编码器参数保存第一页 Encoder.SaveFlag = EncoderValue.MultiFrame

  3. 将每个后续页面保存到同一个文件中,编码器参数为 Encoder.SaveFlag = 使用 Bitmap.SaveAdd ()

  1. Load each of your TIFF images into a Bitmap object, e.g. using Image.FromFile.
  2. Save the first page with an encoder parameter Encoder.SaveFlag = EncoderValue.MultiFrame
  3. Save each subsequent page to the same file with an encoder parameter of Encoder.SaveFlag = EncoderValue.FrameDimensionPage using Bitmap.SaveAdd()

它看起来像这样:

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#.net合并两个tiff图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆