La stessa domanda dell'ultima volta, ma fornirò maggiori dettagli. Attualmente sto usando la rotazione delle immagini:Immagine Java interrotta
int rotateNum //in main class
double rotationRequired = Math.toRadians(rotateNum);
double locationX = img.getWidth(this)/2;
double locationY = img.getHeight(this)/2;
AffineTransform tx = AffineTransform.getRotateInstance(rotationRequired, locationX, locationY);
AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
g2d.drawImage(op.filter((BufferedImage)img, null), imgX, imgY, null);
E poi io sono in realtà ruotare l'immagine utilizzando:
double deltaX = (double)(imgY - otherImg.imgY);
double deltaY = (double)(imgX - otherImg.imgX);
rotateNum = (int)(180 * Math.atan2(deltaY, deltaX)/Math.PI);
Le mie immagini sono di dimensioni variabili. Le immagini più piccole non vengono tagliate (cioè tagliate con lo spazio bianco), ma quelle più grandi, sul lato sinistro o destro. Il ridimensionamento delle immagini non funziona e ho ritagliato il rettangolo bianco attorno all'immagine utilizzando il GIMP .
Esempio Immagini: Prima (ignorare la zona grigia a sinistra)
Dopo: Vedere il cut-off sul lato