14.12.2012, 17:17
|
|
Регистрация: Feb 2011
Сообщений: 431
|
Ресайз группы объектов без матриц
Доброго времени суток.
Делаю свой free transform и пытаюсь менять размеры одновременно целой группе элементов.
Это было бы сравнительно просто осуществить с помощью матриц / scaleX/Y. Но к сожалению, при scale текстовых полей, в них деформируется текст, чего не должно происходить в моём приложении.
То есть мне нужно использовать только ширину и высоту контейнера и детей.
Контейнер у меня лишь условность - он не сожержит детей, а просто прямоугольник который размечает границы группы.
Попытался на рисунке изобразить что мне нужно.
Известны dx, dy, ширина и координаты контейнера и каждого элемента (в том числе и bounding box повёрнутых элементов) до ресайза.
Нужно узнать height' и width' (как изменились ширина и высота элемента после ресайза), и dx', dy' (на сколько переместился элемент в группе).
Пока ничего не получается, а именно совместить перемещение с изменением ширины/высоты элемента, либо слишком перемещаю и элемент вылазит за границы, либо недорастягиваю/сжимаю, и он опять же вылазит за пределы группы.
|