如何在Java中将TIF转换为PNG?

Jam*_*hon 6 java png tiff image image-conversion

在Java下,将TIF文件转换为PNG的最佳方法是什么?

简单是可取的,但如果最简单的方法是使用第三方库,那么我会考虑这个解决方案.

Jon*_*erg 9

首先,安装JAI.然后安装JAI/ImageIO.然后做

public static void main(final String[] args) throws Exception
{
    final BufferedImage tif = ImageIO.read(new File("test.tif"));
    ImageIO.write(tif, "png", new File("test.png"));
}
Run Code Online (Sandbox Code Playgroud)

  • 您也可以获得纯Java JAI,但如果您的平台受本机代码支持,则没有理由这样做.如果将应用程序部署到Web服务器,则服务器的JRE也必须同时安装JAI和JAI/ImageIO扩展. (2认同)

gil*_*dbu 7

使用像im4java这样的imageMagic java库,它们的性能和质量比JAI要好得多

例如:

import org.im4java.core.ConvertCmd;
import org.im4java.core.IMOperation;

public static void convertTifToPng(File inputImage, File outputImage){
  IMOperation op = new IMOperation();
  op.addImage(); //place holder for input file
  op.addImage(); //place holder for output file

  ConvertCmd convert = new ConvertCmd();
  convert.run(op, new Object[]{inputImage.getAbsolutePath(), outputImage.getAbsolutePath()});
}
Run Code Online (Sandbox Code Playgroud)

im4java的maven依赖是

<dependency>
  <groupId>im4java</groupId>
  <artifactId>im4java</artifactId>
  <version>0.98.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)