2014-09-16 2 views
0

자바 API는이 사실을 잘 설명하지 못하지만 여전히 확실하지 않습니다.Graphics2D 메소드를 회전합니다. 차이점이 뭐야?

두 가지 Graphics2d 오버로드 된 메서드 호출의 차이점은 무엇입니까?

public abstract void rotate(double theta) 

public abstract void rotate(double theta, 
     double x, 
     double y) 

자바 문서는 여기에 있습니다 : 나는이 문서에서 가져온 무엇

http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics2D.html#translate%28int,%20int%29

, 두 번째 회전 방법은 그래픽 객체 변환이었다, 그것을 회전 , 그것을 다시 번역합니다. 내 혼란은 드로잉 그래픽이 이미 이전 원점으로 다시 변환되는 경우 어디에 들어 맞는지에 관한 것입니다.

그래픽이 회전 된 경우 이전 좌표계 (원점은 (0,0))를 벗어나 예상대로 끝나는 것이 있습니까?

내 목표는 이미지의 중심 (즉, 번역본)을 중심으로 그래픽을 회전 한 다음 이미지를 회전하고 다시 그리는 것입니다. 그 후, 그래픽을 다시 정상 상태로 재설정하고 싶습니다 (또는 그래픽의 해당 버전을 단순히 버립니다).

미리 도움을 청하십시오. 만약 내가 기억

답변

1

Graphics 문맥의 왼쪽/상단 주위 Graphics2D#rotate(double) 회전은 Graphics2D#rotate(double, double, double) 당신이 Graphics 문맥이 회전 될 주변의 앵커 포인트를 정의 할 수 있습니다로, (그것의 현재 변환 기준). 때때로, 당신은 단지 그것을 시도해야만한다.

+0

나는 당신이 올바르게 기억한다고 생각한다! –