本文介绍了提高在Java中使用缩放JPEG图像质量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我生成使用phantomjs的JPG图像。我想用影像尺寸600x400px和144 DPI / PPI。

但我只能生成一个为72dpi形象。所以,我想产生在72 dpi的1200x800px尺寸的图像,然后将其调整到600x400px。
所以我的想法是,

  1200x800像素具有DPI 72

所以,

  600x400px将有DPI 72 * 2 = 144(因为二分之一千二百= 600px的800/2 = 400像素)

我用java。但每当我调整我的图像质量变少。

途径我想:


  1. 我试图操纵图像的元数据信息,如下面的帖子解释,但还是它给图像质量差。

    Increasing分辨率和Java中的图像减小尺寸


我使用了错误的方法呢?如果是的话,请提出了一些方案。
如果该方法是正确的,那么请指导我如何正确实现它?

更新

我不希望减少没有。的像素。我想保持无。像素相同,但降低图像的高度/宽度同时增加了DPI。
例如,在具有分辨率72 1200x800px的图像,我将其降低到600x400像素,同时增加DPI 144。
所以,如果你看到了没有像素的相同和图像具有更高的dpi值。


解决方案

I solved it using Itext.

File file = new File("demo.png");
Image img = Image.getInstance(file.getName());
img.scaleAbsolute(width, height); //where width,height is the reduced width,height; in my case 600,400.

Read it through Image class and use scaleAbsolute().For more details please read this post:Image Quality using Itext

PS: This is only helpful if you are trying to put image in pdf.If anyone knows how to convert img to a png file then please comment.

这篇关于提高在Java中使用缩放JPEG图像质量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-31 04:35