Wie kann ich ein Bild drehen mittels Java/Swing und setzen Sie seinen Ursprung auf 0,0?
Ich bin in der Lage, um ein Bild zu drehen, wurde Hinzugefügt, um ein JLabel. Das problem ist nur, dass, wenn die Höhe und Breite nicht gleich ist, wird das gedrehte Bild erscheint nicht mehr auf dem JLabel ist der Ursprung (0,0).
Hier ist, was ich Tue. Ich habe auch versucht, mit AffineTransform und drehen das Bild selbst, aber mit dem gleichen Ergebnis.
Graphics2D g2d = (Graphics2D)g;
g2d.rotate(Math.toRadians(90), image.getWidth()/2, image.getHeight()/2);
super.paintComponent(g2d);
Wenn ich ein Bild, dessen Breite größer ist als Ihre Höhe, drehen das Bild mit dieser Methode und dann malen es wird in das Bild gemalt wurde vertikal über dem Punkt 0,0 und horizontal nach rechts von der Punkt 0,0.
InformationsquelleAutor JT. | 2010-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die g2d.transform() so verschieben Sie das Bild zurück, wo Sie benötigt werden. Ich bin mir nur vorstellen, was die Berechnung sein könnte, aber ich denke, so etwas wie:
BTW, haben Sie möglicherweise ein problem mit der label-reporting Ihre bevorzugte Größe - so könnte man überschreiben, getPreferredSize() und Rechnung für das austauschen der Bilder in Breite und Höhe, wenn gedreht wird.
InformationsquelleAutor staticman
InformationsquelleAutor Maurice Perry
Folgende Funktion dreht eine gepufferte Bild, das im unbestimmten, wenn es ein perfektes Quadrat oder nicht.
InformationsquelleAutor Aleksandr Movsesyan
Den Gedreht Symbol Klasse könnte das sein, was du suchst.
InformationsquelleAutor camickr