在.Net中将TIFF文件转换为PNG

21

我需要在.Net(3.5)中构建一个应用程序,以便从另一款软件中保存的TIFF文件中提取并将其转换为PNG格式,以便在Internet Explorer中轻松呈现。有人知道是否有任何库(最好是免费/开源)可以为我完成此转换吗?

如果没有简单的方法将它转换为PNG,是否有任何库可用于将其转换为其他适用于IE的图像格式?

我知道我可以传递TIFF到浏览器并使用插件来呈现它,但这个应用程序的目标电脑是被锁定的,无法安装插件。

2个回答

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

请同时查看:将Tiff图像转换为Gif/Jpeg


谢谢,这个一次就成功了,你帮我省去了很多时间。 - colethecoder
1
使用简单流时运行良好 :) System.Drawing.Bitmap.FromStream(tiffStream).Save(pngStream, System.Drawing.Imaging.ImageFormat.Png); - SandRock
2
@Chris 我已经在这里发布了一个适用于多页tiff的答案:https://dev59.com/4lDTa4cB1Zd3GeqPFwYl#24617585 - Tom Halladay

8
在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的开源项目,它将读取和写入几乎任何图像格式。最坏的情况是需要在.NET中通过Process.Start()调用ImageMagick的convert.exe - 不够优雅,但它确实可行。


问题明确指出“转换为png”。但是,如果没有指定保存质量,将图像保存为jpeg格式并不是一个好主意。 - Nyerguds

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接