나는 그리기 프로그램을 쓰고 있어요, Whyteboard으로 이미지를 회전 - 나는 그것의 행동이 조금 이상한 것을 제외하고, 기능을 회전 이미지를 구현 한 http://code.google.com/p/whyteboard/마우스
.
(다음은 마우스 이벤트 핸들러에서 호출)
def resize(self, x, y, direction=None):
"""Rotate the image"""
self.angle += 1
if self.angle > 360:
self.angle = 0
self.rotate()
def rotate(self, angle=None):
"""Rotate the image (in radians), turn it back into a bitmap"""
rad = (2 * math.pi * self.angle)/360
if angle:
rad = (2 * math.pi * angle)/360
img = self.img.Rotate(rad, (0, 0))
: 나는 마우스 위치
내 코드에 관련 이미지를 회전 할 수있는 적절한 논리를 알아낼 수 없습니다이 비슷한입니다
기본적으로 사용자가 마우스를 움직이면 이미지 회전 각도가 계속 증가합니다. 그러나 이것은 때때로 이미지를 90도 회전시키기 위해 마우스를 여러 번 "동그라미"해야한다는 것을 의미합니다.
그러나 다른 프로그램과 유사하게 이미지가 마우스의 위치와 관련하여 어떻게 회전해야합니까? 이미지의 위치.
이것이 문제가되는 비트입니다. 그것이 내가 resize()
마다 마우스 움직임을 업데이트라고 믿고있어 어떤 언어
감사합니다, 나는 그것을 시도 갈거야, 결국 솔루션입니다.나는 그 문제에 접근하는 방법을 모르기 때문에 각도를 1로 사용했습니다. 잘 잡는 (0, 0) 역시 이미지 센터를 계산하는 것을 잊어 버렸고 이미지의 왼쪽 상단 주위를 회전시켰다. 고맙습니다. –