Voici un code pour enregistrer la dernière image dans un tiff multi-trame à un fichier tiff d'une seule page. (Pour utiliser ce code, vous devez ajouter une référence à PresentationCore.dll).
Stream imageStreamSource = new FileStream(imageFilename, FileMode.Open, FileAccess.Read, FileShare.Read);
MemoryStream memstream = new MemoryStream();
memstream.SetLength(imageStreamSource.Length);
imageStreamSource.Read(memstream.GetBuffer(), 0, (int)imageStreamSource.Length);
imageStreamSource.Close();
BitmapDecoder decoder = TiffBitmapDecoder.Create(memstream,BitmapCreateOptions.PreservePixelFormat,BitmapCacheOption.Default);
Int32 frameCount = decoder.Frames.Count;
BitmapFrame imageFrame = decoder.Frames[0];
MemoryStream output = new MemoryStream();
TiffBitmapEncoder encoder = new TiffBitmapEncoder();
encoder.Frames.Add(imageFrame);
encoder.Save(output);
FileStream outStream = File.OpenWrite("Image.Tiff");
output.WriteTo(outStream);
outStream.Flush();
outStream.Close();
output.Flush();
output.Close();
Pour utiliser ce code, vous devez ajouter une référence à la PresentationCore.dll qui se trouve dans votre « [Program Files]/Assemblées de référence » dossier. Cet assembly contient l'espace de noms 'System.Windows.Media.Imaging'. – Crackerjack