2009-10-14 16 views
17

Muszę zbudować aplikację w .Net (3.5), aby pobrać plik TIFF zapisany z innego oprogramowania i przekonwertować go do formatu PNG, aby można go było łatwo renderować w Internecie Poszukiwacz. Czy ktokolwiek zna jakieś biblioteki (najlepiej freeware/open source), które wykonają dla mnie tę konwersję?Konwertowanie plików TIFF do PNG w .Net

Jeśli nie ma prostych sposobów na pobranie pliku do PNG, czy istnieją biblioteki, których mogę użyć do przekształcenia go w inny format obrazu przyjaznego dla IE?

Wiem, że mogę przekazać TIFF do przeglądarki i użyć wtyczki do renderowania, ale komputery, do których jest przeznaczony, są zablokowane i nie mogą instalować wtyczek.

Odpowiedz

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

Proszę również sprawdzić: Convert Tiff Images to Gif/Jpeg

+0

Dziękuję za to, że zadziałało po raz pierwszy, zaoszczędzisz mi wiele lat. – colethecoder

+1

Działa jak zaklęcie z prostymi strumieniami :) 'System.Drawing.Bitmap.FromStream (tiffStream) .Zapisz (pngStream, System.Drawing.Imaging.ImageFormat.Png);' – SandRock

+1

Twój kod prawdopodobnie nie działa dla wielu stron tiffs. – Chris

6

W języku C#/.NET, to prawdopodobnie tak proste, jak:

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

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

Jeśli z jakiegoś powodu nie będzie System.Drawing.Imaging przeczytaj swoje pliki TIFF, obejrzyj projekt open source o nazwie ImageMagick, który odczyta i napisze prawie dowolny format obrazu jaki można sobie wyobrazić. Najgorszy scenariusz trzeba wywołać convert.exe ImageMagick przez Process.Start() w .NET - nie elegancki, ale to działa.

+0

Pytanie konkretnie powiedział "do png" chociaż. I nie jest dobrym pomysłem zapisanie pliku jpeg bez określania jakości zapisu. – Nyerguds

Powiązane problemy