Подскажите пожалуйста как правильно повернуть объект Rect с помощью матрицы(Matrix), а потом отрисовать его на созданом мной контроле. Проблема в том что левая верхняя точка объекта поворачивается в нужные координаты, но сам прямоугольник растягивается.
| Код | Point pt = new Point((SystemParameters.WorkArea.Height - SystemParameters.WindowCaptionHeight - clockRadius) / 2, (SystemParameters.WorkArea.Width - SystemParameters.WindowCaptionHeight - clockRadius) / 2);
Matrix matrixSecondsArrow = new Matrix(); Rect secondsArrow = new Rect(); secondsArrow.Height = 75; secondsArrow.Width = 3; matrixSecondsArrow.Translate(pt.X, pt.Y); matrixSecondsArrow.RotateAt((DateTime.Now.Hour * 30 + DateTime.Now.Minute / 2) - 180, pt.X, pt.Y); secondsArrow.Transform(matrixSecondsArrow);
dc.DrawRectangle(brushMarks, penArrows, secondsArrow);
|
Я хотел добится поворота прямоугольника вокруг центра рабочей области на угол, который равен текущему времени. Возможно я как то не правильно работаю с матрицей? |