Правильное перетаскивание масштабированного изображения в RaphaelJS - PullRequest
0 голосов
/ 30 ноября 2011

Мне удалось реализовать dnd изображения в RaphaelJS, изменив его атрибуты x и y в методе move .Я нажимаю на изображение, и я могу перемещать его, и все работает как ожидалось.

Эффект, которого я сейчас хочу достичь :

  • Пользователь нажимает на изображениеи он масштабируется в 1,2 раза. Пользователь
  • Перемещает изображение при отпускании кнопки мыши. Изображение
  • Уменьшает до исходного размера
  • * Все должно выглядетьгладкий и естественный

Что я делаю :

  • Когда пользователь щелкает изображение: запоминает x, y изображения, image.scale(1.2)
  • Во время движения: image.attr({x: (dx/1.2)+startx}); image.attr({y: (dy/1.2)+starty});
  • На реле мыши: image.scale(1.0)

Текущий эффект : работает нормально, пока яотпустите кнопку мыши -> изображение уменьшится до исходного размера , но оно также будет немного перескочить вправо или влево в зависимости от начальной позиции

Есть ли простой способразобраться с моей проблемой в RaphaelJS или мне нужно погрузиться в сложные преобразования?

Ответы [ 2 ]

0 голосов
/ 30 января 2012

Я обнаружил, что использование преобразования хорошо для меня. Вы используете это как этот el.transform ('s1.5, s1.5');

0 голосов
/ 01 декабря 2011

Полагаю, проблема в том, что вы запоминаете x, y изображения перед масштабированием, что, вероятно, тогда не совсем верно

Вы также можете попробовать установить центр фигуры вручную http://raphaeljs.com/reference.html#Element.scale

...