"アフィン変換"を使用すると、簡単にimageA
を回転させることができます。同様にimageA
もimageB
と一緒に移動します。しかし、私はそれを回転させた後にimageA
を元の位置に戻す方法を見つけることができないようです。これまでの私のコードHERESに回転イメージ(元の位置に戻す)
(私はいくつかのサイトでいくつかの研究を行っていると明らかに最善の方法は、そのアンカーポイントから回転のように見えるように元の位置に画像を移動することです。)
:誰も私は(右imageB
にある)元の位置に戻ってimageA
を移動することができた場合は非常に便利でしょう
public void paintComponent(Graphics g) {
super.paintComponent(g);
AffineTransform af = new AffineTransform();
Graphics2D g2d = (Graphics2D) g;
af.translate(imageBx, imageBy); // moves ImageA to imageb's position
af.rotate(Math.toRadians(angle), imageB.getHeight(this)/2, imageB.getWidth(this)/2);
g2d.drawImage(imageA, af, null);
g2d.drawImage(imageB, imageBx, imageBy, null);
}
!
この[example](http://stackoverflow.com/a/3420651/230513)が役立つかどうかを確認してください。 – trashgod
私はそれを見ましたが、コードがパネル全体を回転させるので、固定された回転ポイント上の1つの画像(別のものに接続され、タンクとそのアームに似ています)を回転させたいだけです。 – Kenny