| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Преобразования над объектом Graphics |
| Автор: marshal64 20.3.2011, 19:43 | ||
Есть примерно такой код:
Нужно, чтобы объект DrawObject переносился в положение Location, масштабировался на ScaleX и ScaleY относительно Location и вращался на угол Rotation относительно RotationCenter, который тоже должен автоматически масштабироваться. Примерно так все и делается за исключением одного: когда объект начинает масштабироваться при ненулевом угле поворота, то он масштабируется не относительно Location, а как-то по осям. Если же меняется последовательность масштабирования и поворота (сначала поворот, потом масштабирование), то уже масштабирование происходит относительно Location, а вот поворот начинает происходить, что логично, относительно немасштабированного центра. В чем может быть моя ошибка, или необходимый мне вариант таким образом вообще нереализуем? |
| Автор: -Mikle- 22.3.2011, 16:42 |
| Попробуйте в такой последовательности: 1) RotateAt 2) Scale 3) Translate Если вы имеете ввиду что вам нужно поворачивать и масштабировать относительно другого центра (не Location), то надо завести еще одно свойство - TransformOrign (с абсолютным или относительным позиционированием, как хотите). |