Ciao,
prova con questo codice:
private void GeneraTIFF(List<string> files, string destinazione)
{
Image tiff = Bitmap.FromFile(files[0]);
//--- i vari encoder necessari
Encoder enc = Encoder.SaveFlag;
ImageCodecInfo info = GetEncoderInfo("image/tiff");
EncoderParameters ep = new EncoderParameters(1);
//--- prepari il file di destinazione
ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.MultiFrame);
tiff.Save(destinazione, info, ep);
//--- aggiungi il resto delle immagini
ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.FrameDimensionPage);
for (int i = 1; i < files.Count; i++)
{
using (Image img = Image.FromFile(files[i]))
{
tiff.SaveAdd(img, ep);
}
}
//--- chiudi il file.
ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.Flush);
tiff.SaveAdd(ep);
tiff.Dispose();
}
private static ImageCodecInfo GetEncoderInfo(string mimeType)
{
int j;
ImageCodecInfo[] encoders;
encoders = ImageCodecInfo.GetImageEncoders();
for (j = 0; j < encoders.Length; ++j)
{
if (encoders[j].MimeType == mimeType)
return encoders[j];
}
return null;
}
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo