Dieser Code unten ist meine paintComponent zum Malen von Bildobjekten, aber während ich das Bild drehen möchte, ohne es über das Zentrum zu bewegen, sondern es auch nach einem bestimmten Wert zu übersetzen.Wie man ein Bild nach dieser Rotationstransformation übersetzt
trans.translate(xShift, yShift);
das ist die Linie, die ich mein Bild zu verwenden versucht, zu übersetzen, aber es schneidet aus irgendeinem Grund jedes Mal ein Teil des Bildes aus.
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (myImage != null) {
AffineTransform trans = new AffineTransform();
trans.translate(getWidth()/2, getHeight()/2);
trans.rotate(piece.getOrientation() * Math.PI/2);
trans.translate(-myImage.getWidth()/2, -myImage.getHeight()/2);
trans.translate(xShift, yShift);
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(myImage, trans, null);
}
}