调整没有文字的照片..是否需要RenderingHints?

时间:2011-07-01 09:43:20

标签: java rendering bufferedimage image-resizing graphics2d

我正在编写一个快速的小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)

1 个答案:

答案 0 :(得分:0)

我想,在阅读下面的stackoverflow.com问题/答案之后:

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