T
T0B3Y
Gast
Hey,
bin grade mal wieder dabei ein wenig mit Java zu programmieren. Jetzt will ich ein Bild so einbinden, dass man es per Tasten bewegen/drehen kann. Für die Drehung verwende ich folgenden Code:
(look ist das Bild)
Nun wird bei jedem Thread-Durchlauf, bei dem die eine der Pfeiltasten um 2 Grad (Je nach Einstellung) gedreht.
Wenn ich schon direkt nach dem Programmstart, also schon bevor das erste mal das Bild gerendert wird, das Bild drehe, wird es richtig angezeigt. Wenn ich jedoch im Programm selbst dann die Pfeiltasten drücke, bewegen sich jedoch immer nur die äußersten 3 Pixel in die entsprechende Richtung, der gesammte innere Teil des Bildes bleibt gleich. An diesem Problem häng ich jett schon ziemlich lang, kenn mich aber mit diesem Bereich auch noch nicht so gut aus, weshalb ich jetzt einfach mal nach Hilfe frag. Wenn jemand ne Ahnung hat, oder bestimmter Code zusätzlich benötigt wird, einfach schreiben.
PS: Sorry für den eher schlechten Programmierstil und die wahrscheinlich bescheuerte Frage.
MfG
bin grade mal wieder dabei ein wenig mit Java zu programmieren. Jetzt will ich ein Bild so einbinden, dass man es per Tasten bewegen/drehen kann. Für die Drehung verwende ich folgenden Code:
Code:
public void rotateImage(double degrees) {
AffineTransform affineTransform = AffineTransform.getRotateInstance(
Math.toRadians(degrees),
look.getWidth() / 2,
look.getHeight() / 2);
BufferedImage rotatedImage = new BufferedImage(look.getWidth(), look.getHeight(), look.getType());
Graphics2D g = (Graphics2D) rotatedImage.getGraphics();
g.setTransform(affineTransform);
g.drawImage(look, 0, 0, null);
look = rotatedImage;
}
(look ist das Bild)
Nun wird bei jedem Thread-Durchlauf, bei dem die eine der Pfeiltasten um 2 Grad (Je nach Einstellung) gedreht.
Wenn ich schon direkt nach dem Programmstart, also schon bevor das erste mal das Bild gerendert wird, das Bild drehe, wird es richtig angezeigt. Wenn ich jedoch im Programm selbst dann die Pfeiltasten drücke, bewegen sich jedoch immer nur die äußersten 3 Pixel in die entsprechende Richtung, der gesammte innere Teil des Bildes bleibt gleich. An diesem Problem häng ich jett schon ziemlich lang, kenn mich aber mit diesem Bereich auch noch nicht so gut aus, weshalb ich jetzt einfach mal nach Hilfe frag. Wenn jemand ne Ahnung hat, oder bestimmter Code zusätzlich benötigt wird, einfach schreiben.
PS: Sorry für den eher schlechten Programmierstil und die wahrscheinlich bescheuerte Frage.
MfG