CanvasRenderingContext2D: метод resetTransform()
Базовая линия Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Метод CanvasRenderingContext2D.resetTransform() API Canvas 2D сбрасывает текущее преобразование на единичную матрицу.
Синтаксис
resetTransform()
Примеры
Сброс матрицы
В этом примере рисуется повернутый прямоугольник после изменения матрицы, а затем матрица сбрасывается с помощью метода resetTransform().
HTML
<canvas id="canvas"></canvas>
JavaScript
Метод rotate() вращает матрицу преобразования на 45°. Метод fillRect() рисует заполненный прямоугольник, скорректированный в соответствии с этой матрицей.
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
// Draw a rotated rectangle
ctx.rotate((45 * Math.PI) / 180);
ctx.fillRect(60, 0, 100, 30);
// Reset transformation matrix to the identity matrix
ctx.resetTransform();
Результат
Продолжение с обычной матрицей
После завершения рисования преобразованных фигур необходимо вызвать resetTransform() перед отрисовкой чего-либо еще. В этом примере первые две фигуры нарисованы с наклоном, а последние две – с единичным (обычным) преобразованием.
HTML
<canvas id="canvas"></canvas>
JavaScript
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
// Skewed rectangles
ctx.transform(1, 0, 1.7, 1, 0, 0);
ctx.fillStyle = "gray";
ctx.fillRect(40, 40, 50, 20);
ctx.fillRect(40, 90, 50, 20);
// Non-skewed rectangles
ctx.resetTransform();
ctx.fillStyle = "red";
ctx.fillRect(40, 40, 50, 20);
ctx.fillRect(40, 90, 50, 20);
Результат
Наклоненные прямоугольники серые, а непрозрачные – красные.
Полифилл
Вы также можете использовать метод setTransform(), чтобы сбросить текущее преобразование на единичную матрицу:
ctx.setTransform(1, 0, 0, 1, 0, 0);
Спецификации
| Спецификация |
|---|
| HTML # dom-context-2d-resettransform-dev |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
resetTransform |
31 | 79 | 36 | 18 | 10.1 | 31 | 36 | 18 | 10.3 | 2.0 | 4.4.3 |
См. также
- Интерфейс, определяющий этот метод:
CanvasRenderingContext2D
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/resetTransform