如何在java中更改图像的DPI?

时间:2016-01-09 17:04:05

标签: java image

我正在尝试更改图像的DPI,但我无法更改图像的默认DPI。 所以请建议我如何改变图像的dpi。

以下是有问题的代码段:

 File inputFile = new File(inputImagePath);
    BufferedImage img = ImageIO.read(inputFile);
   BufferedImage thumbImg = Scalr.resize(img, Method.QUALITY,Mode.FIT_TO_HEIGHT,720,Scalr.OP_DARKER);
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    ImageIO.write(thumbImg,"jpg",os);
    String formatName = outputImagePath.substring(outputImagePath
            .lastIndexOf(".") + 1);

1 个答案:

答案 0 :(得分:0)

在你的例子中,你从.jpg文件中读取图像 - 你可以简单地使用它。

在所有其他情况下,您可以通过调用

来获取itext图像的二进制数据
  byte [] data = image.getOriginalData ();

完成后,您可以使用ImageIO读取图像,并在需要时使用其他格式保存。

也许是这样的:

File outputFile = new File("image.jpg");
try (InputStream is = new ByteArrayInputStream (data)) {
    BufferedImage image = ImageIO.read(is);
    try (OutputStream os = new FileOutputStream(outputFile)) {
        ImageIO.write(image, "jpg", os);
    } 
} catch (Exception e) {
    e.printStackTrace();
}