2

我正在编写一个快速的小 java 类,它将图像调整为各种较小的尺寸(缩略图大/小/等)。我已经看到了其中包含 RenderingHints 的示例。输出文件比没有的要大得多。

我的问题是:如果正在调整大小的图像没有文本,是否有必要使用 RenderingHints ?

int IMG_WIDTH = 100;
int IMG_HEIGHT = 100;

BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();    
g.setComposite(AlphaComposite.Src);

g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

我从 45kb 图像开始,输出差异是 3kb 文件(没有 RenderingHints)与 24kb 文件(有 RenderingHints)

4

1 回答 1

0

我想,在阅读了以下 stackoverflow.com 问题/答案后:

当照片不包含文字时,我倾向于认为 RenderingHints 对我没有任何好处......在这种情况下,没有文字 = 没有 RenderingHints = 更小的调整大小的图像

于 2011-07-08T17:37:40.453 回答