@waldo
Для вращения объектов на Canvas можно использовать метод rotate()
контекста рисования. Например, чтобы повернуть прямоугольник на угол 45 градусов, нужно выполнить следующие действия:
Где x
и y
это координаты центра прямоугольника, width
и height
– его размеры.
Если нужно повернуть объект вокруг своего центра, то нужно вместо ctx.translate(x, y)
использовать ctx.translate(x + width/2, y + height/2)
, чтобы сдвинуть начало координат в центр объекта.
Пример поворота прямоугольника на 45 градусов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
const canvas = document.querySelector('canvas'); const ctx = canvas.getContext('2d'); const x = 100; const y = 100; const width = 50; const height = 50; ctx.fillStyle = 'red'; ctx.save(); ctx.translate(x + width / 2, y + height / 2); ctx.rotate(Math.PI / 4); ctx.fillRect(-width/2, -height/2, width, height); ctx.restore(); |