HTML5 метод перевода, как reset по умолчанию?

Так как HTML5 translate-method перемещает начало рисования относительно его прежнего происхождения, очевидно. (когда я использую ctx.translate(20,20) дважды подряд, я получаю тот же результат, что и при использовании ctx.translate(40,40)) Ну, теперь проблема в том, что я хотел бы reset происхождение чертежа в его исходное положение (позиция, которую он имел до первого использования на нем translate()), как это сделать?

Ответы

Ответ 2

Вы можете сделать это, используя .save() и .restore()

ctx.save();
ctx.translate(// do some translations);
// draw whatever
ctx.restore();

Вам нужно вызвать save() для сохранения состояния текущих контекстов. Затем вы можете выполнять переводы, поворота и т.д. После того, как ваш завершенный вызов restore() - reset, состояние контекста соответствует тому, что было, когда вы изначально называли save().

Живая демонстрация

Учебное пособие по MDN также объясняет это

Ответ 3

ctx.resetTransform();

Подробнее см. документация MDN. Он имеет очень низкую совместимость с браузером.