как масштабировать путь в Raphael.js - PullRequest
7 голосов
/ 05 мая 2011

Я не понимаю, почему следующий пример не работает ... Он работает, только если я изменяю его размер один раз, но если я пытаюсь изменить его размер снова, он все испортил ...

http://jsfiddle.net/JAVWN/1/

Ответы [ 2 ]

8 голосов
/ 05 мая 2011

Можно подумать, что если бы вы вызвали scale () один раз, а затем снова вызвали scale (), результаты были бы кумулятивными, но, похоже, это не так.Кажется, что если вы вызываете scale (), он запоминает исходные измерения и масштабирует их, а не пересчитанные ранее измерения.

Я получил ваш пример для работы, чтобы сохранить масштаб (по одной переменной для каждого измерения).) на вашем объекте (начиная с scaleX = scaleY = 1).Затем я умножил сохраненный масштаб на масштаб, рассчитанный по конечной позиции изменяющего размер / курсора, и сохранил их в вашем объекте.Наконец, я использовал сохраненные масштабы в вызове функции scale () для изменения размеров ваших фигур.

См. http://jsfiddle.net/donniec/JAVWN/2/

1 голос
/ 05 мая 2011

Я исправил это ... просто используйте node.resetScale ();

...