Merging two tiff image using c#.net

后端 未结 2 792
生来不讨喜
生来不讨喜 2020-12-18 10:41

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

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

I need to merge these imag

2条回答
  •  感情败类
    2020-12-18 11:28

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

    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()

    It would look something like this:

    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);
    

提交回复
热议问题