Вращение двух отдельных объектов (путей) в Canvas - PullRequest
1 голос
/ 23 февраля 2011

У меня есть две стрелки, нарисованные на холсте с использованием canvas.DrawPath ().Я использую canvas.rotate () для вращения, но он, очевидно, вращает обе стрелки на одинаковую величину.

Мне бы хотелось иметь возможность повернуть одну стрелку в одну сторону, а другую - в другую.

Возможно ли это?

1 Ответ

4 голосов
/ 23 февраля 2011

Когда вы используете canvas.rotate(), вы изменяете матрицу преобразования, связанную с холстом, поэтому все, что вы рисуете после этого, будет зависеть от текущего состояния матрицы, вы должны сделать следующее:

canvas.save();     //Save current canvas matrix state
canvas.rotate(angle);
canvas.DrawPath(); //Draw first arrow
canvas.restore();  //Restore canvas matrix to saved state
canvas.DrawPath(); //Draw second arrow without the rotation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...