2013-04-28 2 views
0

이미지를 회전하는 방법은 알고 있지만 실제 Objet는 어떻게 회전합니까? 내가 paint() 메서드로 그려진 여러 가지가 있기 때문에 나는 회전 할 수 없기 때문에 g2d.rotate();을 사용할 수 없습니다. 당신은 스윙 응용 프로그램이기 때문에오브젝트 회전

+1

더 도움이 빨리 들어, [SSCCE] (http://sscce.org/)을 게시 할 수 있습니다. 한 객체에 대해'Graphics '를 회전시킨 다음 다른 객체에 대해 다시 회전시킬 수 있습니다. –

+1

@AndrewThompson : IIUC, 당신은 저장할 수 & 변환 [여기] (http://stackoverflow.com/a/9373195/230513)로 표시됩니다. – trashgod

+0

@Fiskpotatis는 답장의 왼쪽에있는 체크 표시를 클릭하여 도움을 받으면 대답을 수락합니다. –

답변

1
  • , 당신은 paint(...) 방법에 오히려 JComponent의 파생 클래스의 paintComponent(...) 방법에 그릴 싶지 않아요.
  • 단일 객체를 회전하려면 원본에서 create()을 호출하고 새 Graphics 인스턴스에서 rotate(...)을 호출하고 회전 된 항목을 새 Graphics2D 인스턴스로 그려 복사 한 다음 Graphics 객체를 삭제하여 Graphics 객체 복사본을 만드는 것이 좋습니다.
1

이미지를 java.awt.geom.AffineTransform 클래스로 변환하거나 고유 한 회전 매트릭스를 구현할 수 있습니다.

실제 개체를 회전하면 현재 위치, 방향 및 피벗 지점을 알 수 있습니다. 회전 행렬이 해결책입니다.

http://en.wikipedia.org/wiki/Rotation_matrix