2009-10-14 2 views
17

Мне нужно создать приложение в .Net (3.5), чтобы собрать файл TIFF, сохраненный из другого программного обеспечения, и преобразовать его в PNG, чтобы он мог легко отображаться в Интернете Проводник. Кто-нибудь знает какие-либо библиотеки (предпочтительно freeware/open source), которые будут делать это преобразование для меня?Преобразование файлов TIFF в PNG в .Net

Если нет каких-либо простых способов получить его в PNG, есть ли библиотеки, которые я могу использовать, чтобы преобразовать их в другой формат изображения, дружественный к IE?

Я знаю, что могу передать TIFF в браузер и использовать плагин для его рендеринга, но ПК, на которые он нацелен, заблокированы и не могут установить плагины.

ответ

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

Пожалуйста, также проверьте следующее: Convert Tiff Images to Gif/Jpeg

+0

Спасибо, что это сработало в первый раз, вы спасли меня от воровства. – colethecoder

+1

Работает как шарм с более простыми потоками :) 'System.Drawing.Bitmap.FromStream (tiffStream) .Save (pngStream, System.Drawing.Imaging.ImageFormat.Png);' – SandRock

+1

Ваш код не работает для нескольких страниц размолвки. – Chris

6

В C#/.NET, это, вероятно, так же легко, как:

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

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

Если по каким-то причинам System.Drawing.Imaging не будет прочитайте ваши файлы TIFF, посмотрите проект с открытым исходным кодом под названием ImageMagick, который будет читать и писать практически во всех возможных форматах изображений. В худшем случае вам нужно будет вызвать convert.exe ImageMagick через Process.Start() в .NET - не изящно, но он работает.

+0

Вопрос конкретно сказал «png». И не рекомендуется сохранять в jpeg без указания качества сохранения. – Nyerguds

Смежные вопросы