我正在尝试更改图像的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);
答案 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();
}