grafik rotieren und zentrieren

Hallo,

ich möchte eine Grafik rotieren lassen und sie danach wieder zentrieren.

Java:
//Bild drehen
            AffineTransform rotate = new AffineTransform();
            rotate.setToRotation(degree, img.getWidth()/2f, img.getHeight()/2f);
            
            AffineTransformOp op = new AffineTransformOp(rotate, AffineTransformOp.TYPE_BILINEAR);
            img = op.filter(img, null);

Warum funktioniert das nicht? Die Grafik ist Querformat und wird beim Drehen links und oben etwas abgeschnitten.

Danke
 
weiß keiner eine Lösung? Ich arbeitet nun schon ein paar Stunden daran und komme nicht wirklich weiter. Der Fehler liegt irgendwo beim Offset, aber ich komme eben nicht drauf.

Ich habe mir in meiner GUI (rote Striche) und im Bild (rotes Quadrat) auch schon den Mittelpunkt einzeichnen lassen, vielleicht fällt wem noch etwas ein...

Danke
 

Anhänge

  • vorDrehen.jpg
    vorDrehen.jpg
    40,9 KB · Aufrufe: 19
  • nachDrehen.jpg
    nachDrehen.jpg
    38,8 KB · Aufrufe: 22
Ja, sorry, ich hatte deinen Hinweis mit dem Offset gesehen, aber ... es ist eben so: Wenn ich jetzt ein Beispiel basteln würde, in dem ein Bild um seinen Mittelpunkt rotiert wird, dann würde das funktionieren. Das würde dir zwar evtl. weiterhelfen, aber der Aufwand, so ein KSKB zu basteln, damit du den Fehler bei dir nicht suchen mußt, ist ... naja. Vielleicht ist mir nachher ja langweilig.

Bis dahin nur so viel: In deinem Beispielbild sieht es aus, als ob um einen Punkt gedreht wird, der um
delta = (rahmenbreiteLinks, rahmenbreiteOben)
verschoben ist...
 

Neue Themen


Zurück
Oben