Je suis en train de générer un fichier TIFF multipages à partir d'une image existante en utilisant code by Bob Powell:Génération d'un fichier TIFF multipages ne fonctionne pas
picture.SelectActiveFrame(FrameDimension.Page, 0);
var image = new Bitmap(picture);
using (var stream = new MemoryStream())
{
ImageCodecInfo codecInfo = null;
foreach (var imageEncoder in ImageCodecInfo.GetImageEncoders())
{
if (imageEncoder.MimeType != "image/tiff") continue;
codecInfo = imageEncoder;
break;
}
var parameters = new EncoderParameters
{
Param = new []
{
new EncoderParameter(Encoder.SaveFlag, (long) EncoderValue.MultiFrame)
}
};
image.Save(stream, codecInfo, parameters);
parameters = new EncoderParameters
{
Param = new[]
{
new EncoderParameter(Encoder.SaveFlag, (long) EncoderValue.FrameDimensionPage)
}
};
for (var i = 1; i < picture.GetFrameCount(FrameDimension.Page); i++)
{
picture.SelectActiveFrame(FrameDimension.Page, i);
var img = new Bitmap(picture);
image.SaveAdd(img, parameters);
}
parameters = new EncoderParameters
{
Param = new[]
{
new EncoderParameter(Encoder.SaveFlag, (long)EncoderValue.Flush)
}
};
image.SaveAdd(parameters);
stream.Flush();
}
Mais il ne fonctionne pas (seule la première image est inclus dans l'image) et Je ne sais pas pourquoi.
Ce que je veux faire est de changer une image particulière d'un fichier TIFF (ajouter des annotations). Je ne sais pas s'il existe une façon plus simple de le faire, mais ce que j'ai en tête est de créer un TIFF multipage à partir de l'image originale et d'ajouter ma propre image au lieu de cette image.
explain « Il ne fonctionne pas » s'il vous plaît. Que se passe-t-il, qu'est-ce qui échoue, quelle erreur (le cas échéant) obtenez-vous? –
Il produit un objet image avec seulement la première image, les autres images ne sont pas ajoutées. – Beatles1692
Votre code a bien fonctionné quand je l'ai essayé. Avez-vous vérifié que l'image source a plusieurs pages? Enregistrez-vous MemoryStream correctement? –