画像の中心ではなく、特定のピクセル位置を中心に画像を回転させたい。画像を 90 度未満で回転させたいと考えています。グラフィックス クラスの回転機能を使用しましたが、回転すると画像がぼやけます。このぼやけを取り除く方法は?これには特定の機能がありますか?これは私が今使っているコードです:
BufferedImage oldImage = ImageIO.read(new File("C:/omr/OMR_Rotation_1.jpg"));
BufferedImage newImage = new BufferedImage(oldImage.getWidth(), oldImage.getHeight(),oldImage.getType());
Graphics2D graphics = (Graphics2D) newImage.getGraphics();
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_DEFAULT);
graphics.rotate(Math.toRadians(-2.3), newImage.getWidth() / 2, newImage.getHeight() / 2);
graphics.translate((newImage.getWidth() - oldImage.getWidth()) / 2, (newImage.getHeight() - oldImage.getHeight()) / 2);
//graphics.drawImage(oldImage, 0, 0, oldImage.getWidth(), oldImage.getHeight(), null);
graphics.drawImage(oldImage, null, 0, 0);
ImageIO.write(newImage, "JPG", new File("C:/omr/OMR_Rotation_2.jpg"));
graphics.translate((newImage.getWidth() - oldImage.getWidth()) / 2, (newImage.getHeight() - oldImage.getHeight()) / 2);