| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Повернуть прямоуголник на заданный угол |
| Автор: Podarochek 9.7.2008, 12:08 |
| Подскажите пож. как можно нарисовать прямоуголник или еллипс под углом. стандартные функции рисут их же горизонтально... |
| Автор: Lazin 9.7.2008, 12:29 |
| в общем случае - прямыми линиями/кривыми безье |
| Автор: Podarochek 9.7.2008, 13:10 |
| слышал о том что можно повернуть контекст при рисовании... |
| Автор: Draeden 9.7.2008, 20:43 |
| MSDN: ExtCreateRegion |
| Автор: GremlinProg 10.7.2008, 16:40 |
| ExtCreateRegion - зачем? SetWorldTransform() - для поворота, указываем матрицу преобразования, как обычно | 1 | 0 | 0 | | 0 | 1 | 0 | | -x | -y | 1 | X | cos(a) | sin(a) | 0 | | -sin(a ) |cos(a)| 0 | | 0 | 0 | 1 | X | 1 | 0 | 0 | | 0 | 1 | 0 | | +x | +y | 1 | x и y - координаты точки вокруг которой происходит поворот а - угол в радианах последний столбец в матрицах исключен за ненадобностью, он учитывается автоматически, для масштабирования есть другие инструменты, или простая матрица | sx | 0 | 0 | | 0 | sy | 0 | | 0 | 0 | 1 | где sx и sy - коэффициенты масштабирования ModifyWorldTransform() - для последовательных трансформаций CombineTransform() - для перемножения нескольких матриц |