"Affine Transformation"을 사용하면 imageA
을 쉽게 회전시킬 수 있습니다. 또한 imageA
은 imageB
과 함께 이동합니다. 그러나 나는 그것을 회전시킨 후에 imageA
을 원래 위치로 되돌릴 방법을 찾지 못하는 것 같습니다.회전 이미지 (원래 위치로 되돌리기)
는 (I 일부 사이트에 대한 몇 가지 연구를하고 분명히 가장 좋은 방법은 그것의 앵커 지점에서 회전하는 것처럼 보이도록 원래 위치로 다시 이미지를 이동하는 것입니다.)
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);
}
!
[예제] (http://stackoverflow.com/a/3420651/230513)가 도움이되는지 확인하십시오. – trashgod
그걸 보았지만 코드가 전체 패널을 회전 시켰고 고정 된 회전 지점에서 1 개의 이미지 (다른 이미지와 연결되어 있고 탱크와 팔과 유사 함)를 회전하려고합니다. – Kenny