我已经尝试过下面的代码来生成高质量的缩略图图像,但得到了模糊的拇指指甲,并没有太多的清晰度。从Java中的高质量图像获取低质量缩略图
BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setBackground(Color.WHITE);
graphics2D.setPaint(Color.WHITE);
graphics2D.fillRect(0, 0, thumbWidth, thumbHeight);
graphics2D.setComposite(AlphaComposite.Src);
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);
graphics2D.dispose();
File file = new File(thumbnailFile);
if (javax.imageio.ImageIO.write(thumbImage, "JPG", file))
return file;
}
原始图像是一个高品质的图像。为什么我会使缩略图图像扭曲且质量较差?
为什么添加一个复合? – extraneon
我现在已经有了清晰度,因为我使用的是rectina眼图显示,所以像素尺寸必须更多以获得清晰度。例如:70 * 70必须是210 * 210,这样才能得到清晰。 – Antony