首页 > 解决方案 > Apache Commons Imaging - 将 tiff 转换为 jpg

问题描述

我需要使用 Apache Commons Imaging将tiff图像转换为图像。jpg我尝试过,但我不知道如何使用这个库来做到这一点。

final BufferedImage image = Imaging.getBufferedImage(new File(image));
final ImageFormat format = ImageFormats.JPEG;
final Map<String, Object> params = new HashMap<>();
return Imaging.writeImageToBytes(image, format, params);

imagetiff要转换的文件在哪里,但我得到了

org.apache.commons.imaging.ImageWriteException:无法写入此图像格式(Jpeg-Custom)。

我不明白我做错了什么有人可以帮忙吗?

标签: javaapache-commonsapache-commons-imaging

解决方案


尝试使用java AWT:

   import java.awt.Color;
   import java.awt.image.BufferedImage;
   import java.io.File;
   import java.io.IOException;
   import javax.imageio.ImageIO;

和代码:

  // TIFF image file read
  BufferedImage tiffImage = ImageIO.read(new File("tiff-image.tiff"));
  // Prepare the image before writing - with same dimensions
  BufferedImage jpegImage = new BufferedImage(
          tiffImage.getWidth(),
          tiffImage.getHeight(), 
          BufferedImage.TYPE_INT_RGB);
  // Draw image from original TIFF to the new JPEG image
  jpegImage.createGraphics().drawImage(tiffImage, 0, 0, Color.WHITE, null);
  // Write the image as JPEG to disk
  ImageIO.write(jpegImage, "jpg", new File("jpeg-image.jpg"));

推荐阅读