Метод transform() для canvas HTML
Определение и использование
Каждый объект на канвасе имеет текущую матрицу преобразования.
transform()
Метод заменяет текущую матрицу преобразования. Он operates на текущую матрицу преобразования с помощью следующей матрицы:
a c e b d f 0 0 1
Иначе говоря, transform() позволяет вам масштабировать, вращать, перемещать и наклонять текущую среду.
Примечание:Эта трансформация влияет только на рисование, выполненное после вызова transform().
Примечание:Поведение метода transform() относительно rotate(),scale(),translate() или другие преобразования, выполненные с помощью transform(). Например: если вы уже увеличили рисование в два раза, то метод transform() увеличит рисование еще в два раза, и ваше рисование в конечном итоге увеличится в четыре раза.
Совет:Смотрите также setTransform() Метод, который не изменяет поведение относительно других преобразований.
Пример
Нарисуйте прямоугольник; добавьте новую матрицу преобразования с помощью transform() и нарисуйте прямоугольник снова; добавьте новую матрицу преобразования и нарисуйте прямоугольник снова. Обратите внимание, что каждый раз, когда вы вызывайте transform(), он создает новую матрицу преобразования на основе предыдущей:
JavaScript:
var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="yellow"; ctx.fillRect(0,0,250,100) ctx.transform(1,0.5,-0.5,1,30,10); ctx.fillStyle="red"; ctx.fillRect(0,0,250,100); ctx.transform(1,0.5,-0.5,1,30,10); ctx.fillStyle="blue"; ctx.fillRect(0,0,250,100);
Синтаксис
context.transform(a,b,c,d,e,f);
Значения параметров
Параметры | Описание |
---|---|
a | Горизонтальное масштабирование рисования. |
b | Горизонтальное наклонение рисования. |
c | Вертикальное наклонение рисования. |
d | Вертикальное масштабирование рисования. |
e | Горизонтальное движение рисования. |
f | Вертикальное движение рисования. |
Поддержка браузерами
Числа в таблице указывают на версию первого браузера, который полностью поддерживает этот атрибут.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
Примечание:Интернет-Explorer 8 и более ранние версии не поддерживают элемент <canvas>.