有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Apache Commons映像将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);

其中image是要转换的tiff文件,但我得到

org.apache.commons.imaging.ImageWriteException: This image format (Jpeg-Custom) cannot be written.

我不明白我做错了什么有人能帮忙吗


共 (1) 个答案

  1. # 1 楼答案

    尝试使用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"));