2009-10-14 10 views
17

Tengo que crear una aplicación en .Net (3.5) para recuperar un archivo TIFF guardado de otra pieza de software y convertirlo en PNG para que pueda renderizarse fácilmente en Internet Explorador. ¿Alguien sabe de alguna biblioteca (preferiblemente freeware/código abierto) que haga esta conversión por mí?Conversión de archivos TIFF a PNG en .Net

Si no hay formas simples de obtenerlo en un archivo PNG, ¿hay alguna biblioteca que pueda usar para transformarla a otro formato de imagen compatible con IE?

Sé que puedo pasar un TIFF al navegador y usar un complemento para representarlo, pero las PC a las que apunta están bloqueadas y no pueden instalar complementos.

Respuesta

30
System.Drawing. 
    Bitmap.FromFile("your image.tif") 
       .Save("your image.png", System.Drawing.Imaging.ImageFormat.Png); 

Por favor, compruebe también lo siguiente: Convert Tiff Images to Gif/Jpeg

+0

Gracias por esto funcionó la primera vez, me has ahorrado años de cacareo. – colethecoder

+1

Funciona como un encanto con flujos simplier :) 'System.Drawing.Bitmap.FromStream (tiffStream) .Save (pngStream, System.Drawing.Imaging.ImageFormat.Png);' – SandRock

+1

Su código no parece funcionar para múltiples páginas tiffs. – Chris

6

En C#/.NET, es probable que sea tan fácil como:

using System.Drawing; 
using System.Drawing.Imaging; 

using (var tiff = new Bitmap("my_tiff_file.tif")) { 
    tiff.Save("output.jpg", ImageFormat.Jpeg); 
} 

Si por alguna razón no lo hará System.Drawing.Imaging lee tus archivos TIFF, echa un vistazo a un proyecto de código abierto llamado ImageMagick, que leerá y escribirá casi cualquier formato de imagen imaginable. En el peor de los casos, deberá llamar al convert.exe de ImageMagick a través de Process.Start() en .NET, no es elegante, pero funciona.

+0

Sin embargo, la pregunta específicamente decía "to png". Y no es una buena idea guardar en jpeg sin especificar la calidad de guardado. – Nyerguds

Cuestiones relacionadas