Как использовать трансформации для объектов на Canvas?
@willie_grady
Для использования трансформаций для объектов на Canvas нужно использовать метод transform() или setTransform() на контексте Canvas.
Синтаксис метода transform() выглядит так: context.transform(a, b, c, d, e, f). Этот метод изменяет текущую матрицу трансформаций, применяя указанные коэффициенты.
Параметры метода transform():
Синтаксис метода setTransform() выглядит так: context.setTransform(a, b, c, d, e, f). Этот метод заменяет текущую матрицу трансформаций на новую матрицу.
Параметры метода setTransform() аналогичны методу transform().
Пример использования трансформаций на Canvas:
1 2 3 4 5 6 7 8 9 10 11 12 |
const canvas = document.querySelector('canvas'); const context = canvas.getContext('2d'); // Нарисовать квадрат context.fillStyle = 'red'; context.fillRect(50, 50, 100, 100); // Сместить и повернуть квадрат context.translate(100, 100); context.rotate(Math.PI / 4); context.fillStyle = 'green'; context.fillRect(-50, -50, 100, 100); |
В этом примере сначала рисуется красный квадрат на координатах (50, 50). Затем контекст смещается на (100, 100) и поворачивается на 45 градусов. После этого на том же месте рисуется зеленый квадрат. Благодаря трансформациям, он будет отображаться наклонно и повернуто на 45 градусов.