我正在编写一个快速的小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)
答案 0 :(得分:0)
我想,在阅读下面的stackoverflow.com问题/答案之后:
我倾向于认为当照片中没有文字时,RenderingHints对我没有任何好处......在这种情况下,没有文字=没有RenderingHints =更小的调整大小的图像