2009-10-14 8 views
17

Je dois créer une application dans .Net (3.5) pour récupérer un fichier TIFF enregistré depuis un autre logiciel et le convertir en PNG afin qu'il soit rendu facilement en Internet Explorateur. Est-ce que quelqu'un connaît des bibliothèques (de préférence freeware/open source) qui fera cette conversion pour moi?Conversion de fichiers TIFF en PNG en .Net

S'il n'y a pas de moyens simples de l'obtenir en PNG, y a-t-il des bibliothèques que je peux utiliser pour le transformer en un autre format d'image convivial?

Je sais que je peux passer un TIFF au navigateur et utiliser un plugin pour le rendre mais les PC auxquels il est destiné sont verrouillés et ne peuvent pas installer de plugins.

Répondre

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

S'il vous plaît, vérifiez aussi ceci: Convert Tiff Images to Gif/Jpeg

+0

Merci pour cela cela a fonctionné la première fois, vous m'avez sauvé des âges de déconner. – colethecoder

+1

Fonctionne comme un charme avec des flux plus simples :) 'System.Drawing.Bitmap.FromStream (tiffStream) .Sauvegardez (pngStream, System.Drawing.Imaging.ImageFormat.Png);' – SandRock

+1

Votre code ne semble pas fonctionner pour plusieurs pages tiffs. – Chris

6

En C#/.NET, il est probablement aussi facile que:

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

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

Si pour une raison System.Drawing.Imaging ne sera pas lire vos fichiers TIFF, consultez un projet open-source appelé ImageMagick, qui va lire et écrire à peu près n'importe quel format d'image imaginable. Dans le pire des cas, vous devrez appeler convert.exe de ImageMagick via Process.Start() dans .NET - pas élégant, mais cela fonctionne.

+0

La question spécifiquement dit "to png" cependant. Et ce n'est pas une bonne idée d'enregistrer en jpeg sans spécifier la qualité de sauvegarde. – Nyerguds

Questions connexes