Чтобы сделать это, используя только классы Framework, вы в основном делаете это:
- Загрузите каждое из ваших изображений TIFF в растровый объект, например, используя
Image.FromFile
.
- Сохранить первую страницу с параметром энкодера
Encoder.SaveFlag
= EncoderValue.MultiFrame
- Сохраните каждую последующую страницу в один и тот же файл с параметром кодировщика
Encoder.SaveFlag
= EncoderValue.FrameDimensionPage
, используя 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);