重複の可能性:
BufferedImage インスタンスの回転
私が現在使用している方法 (以下) では、角度の引数が小さくなると、BufferedImage がますます歪んでしまいます。
public static BufferedImage getRotatedImage(BufferedImage src, int angle) {
if (src == null) {
System.out.println("getRotatedImage: input image is null");
return null;
}
int transparency = src.getColorModel().getTransparency();
BufferedImage dest = gc.createCompatibleImage(
src.getWidth(), src.getHeight(), transparency );
Graphics2D g2d = dest.createGraphics();
AffineTransform origAT = g2d.getTransform();
AffineTransform rot = new AffineTransform();
rot.rotate(Math.toRadians(angle), src.getWidth()/2, src.getHeight()/2);
g2d.transform(rot);
g2d.drawImage(src, 0, 0, null);
g2d.setTransform(origAT);
g2d.dispose();
return dest;