2009-10-14 61 views
17

Tôi phải tạo một ứng dụng trong .Net (3.5) để nhận tệp TIFF được lưu từ một phần mềm khác và chuyển đổi nó thành PNG để có thể hiển thị dễ dàng trên Internet Nhà thám hiểm. Có ai biết của bất kỳ thư viện (tốt nhất là phần mềm miễn phí/mã nguồn mở) mà sẽ làm chuyển đổi này cho tôi?Chuyển đổi các tệp TIFF sang PNG trong .Net

Nếu không có cách đơn giản nào để chuyển sang PNG, có thư viện nào tôi có thể sử dụng để chuyển đổi sang định dạng hình ảnh thân thiện với IE khác không?

Tôi biết tôi có thể chuyển TIFF vào trình duyệt và sử dụng plugin để hiển thị nhưng máy tính này được nhắm vào bị khóa và không thể cài đặt plugin.

Trả lời

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

Xin vui lòng, cũng kiểm tra này: Convert Tiff Images to Gif/Jpeg

+0

Cảm ơn vì điều này nó đã làm việc lần đầu tiên, bạn đã giúp tôi tiết kiệm thời gian rối tung. – colethecoder

+1

Hoạt động như một sự quyến rũ với các luồng đơn giản hơn :) 'System.Drawing.Bitmap.FromStream (tiffStream) .Lưu (pngStream, System.Drawing.Imaging.ImageFormat.Png);' – SandRock

+1

Mã của bạn dường như không hoạt động cho nhiều trang tiffs. – Chris

6

Trong C#/.NET, nó có lẽ là dễ dàng như:

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

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

Nếu vì một lý do nào System.Drawing.Imaging sẽ không đọc các tệp TIFF của bạn, xem một dự án mã nguồn mở có tên là ImageMagick, nó sẽ đọc và viết về bất kỳ định dạng hình ảnh nào có thể tưởng tượng được. Kịch bản trường hợp xấu nhất bạn sẽ cần phải gọi convert.exe của ImageMagick thông qua Process.Start() trong .NET - không thanh lịch, nhưng nó hoạt động.

+0

Câu hỏi đặc biệt nói "với png". Và nó không phải là một ý tưởng tốt để tiết kiệm để jpeg mà không chỉ định chất lượng tiết kiệm. – Nyerguds

Các vấn đề liên quan