Я пишу программу для рисования, 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 градусов, не говоря уже о 360.
Но, мне это нужно, как и другие программы - как изображение поворачивается относительно вашей мыши положение к изображению.
Это бит, с которым я столкнулся. Я оставил язык без ответа, хотя используя Python и wxPython, он может быть применим к любому языку
Спасибо, я пойду попробовать.Я просто использовал 1 для угла, потому что я действительно не знал, как подойти к проблеме. Хороший улов (0, 0) тоже, я забыл рассчитать центр изображения и продолжал вращать его вокруг верхнего левого изображения. Спасибо. –