Saya harus bisa memutar gambar secara individual (di java). Satu-satunya hal yang saya temukan sejauh ini adalah g2d.drawImage(image, affinetransform, ImageObserver). Sayangnya, saya perlu menggambar gambar pada titik tertentu, dan tidak ada metode dengan argumen yang 1. memutar gambar secara terpisah dan 2. memungkinkan saya untuk mengatur x dan y. bantuan apa pun dihargai
Ini adalah bagaimana anda dapat melakukannya. Kode ini mengasumsikan adanya gambar buffer yang disebut 'image' (seperti komentar Anda)
// The required drawing location
int drawLocationX = 300;
int drawLocationY = 300;
// Rotation information
double rotationRequired = Math.toRadians (45);
double locationX = image.getWidth() / 2;
double locationY = image.getHeight() / 2;
AffineTransform tx = AffineTransform.getRotateInstance(rotationRequired, locationX, locationY);
AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
// Drawing the rotated image at the required drawing locations
g2d.drawImage(op.filter(image, null), drawLocationX, drawLocationY, null);
public static BufferedImage rotateCw( BufferedImage img )
{
int width = img.getWidth();
int height = img.getHeight();
BufferedImage newImage = new BufferedImage( height, width, img.getType() );
for( int i=0 ; i < width ; i++ )
for( int j=0 ; j < height ; j++ )
newImage.setRGB( height-1-j, i, img.getRGB(i,j) );
return newImage;
}
dari https://coderanch.com/t/485958/java/Rotating-buffered-image