Spec-Zone.ru › Web APIs

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API