高品質のサムネイル画像を生成するために以下のコードを試しましたが、サムネイルがぼやけてしまいました。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 eyeディスプレイを使用していたので、ピクセルサイズは明確になるためです。たとえば:70 * 70は210 * 210でなければなりません。これにより、明瞭さが得られます。 – Antony