Context.drawImage(image, x, y),


где image передает выводимое изображение, x и y – координаты верхнего левого угла изображения.

<script>

let canvas = document.getElementById("myCanvas"),

context = canvas.getContext("2d");

 

let img = new Image();

img.src = "dubi.png";

img.onload = function() {

 

context.drawImage(img, 0, 0);

};

</script>

Другая версия метода позволяет дополнительно задать ширину и высоту выводимого изображения: context.drawImage(img, 20, 40, 110, 90);

Добавление теней

Элемент canvas поддерживает добавление теней к нарисованным объектам. Для создания теней применяются следующие свойства:

shadowOffsetX – горизонтальное смещение в пикселях справа (или слева при отрицательном значении);

shadowOffsetY – вертикальное смещение;

shadowBlur – число пикселей для установки размытия тени;

shadowColor – цвет тени.

Трансформации

Элемент canvas поддерживает трансформацию.

Перемещение осуществляется методом translate(): translate(x, y),где параметр указывает на смещение по осям.

Для поворота фигур применяется метод rotate(): rotate(angle),

где в качестве параметра передается угол поворота в радианах относительно точки с координатами (0,0)

Для масштабирования фигур применяется метод scale(): scale(xScale, yScale),

где параметр xScale указывает на масштабирование по оси х, а параметр yScale – по оси y.

Рисование мышью

В canvas можно создавать фигуры динамически, рисуя указателем мыши. Для обработки движения мыши определяются три обработчика – нажатие мыши, перемещение и отпускание мыши. При нажатии мыши устанавливаем переменную draw равным true, т.е. идет рисование. Также при нажатии мы фиксируем точку, с которой будет идти рисование.

При перемещении мыши получаем точку, на которую переместился указатель, и рисуем линию. При отпускании указателя закрываем графический путь методом context.closePath() и сбрасываем переменную draw в false.

 

<script>

let canvas = document.getElementById("myCanvas"),

context = canvas.getContext("2d"),

w = canvas.width,

h=canvas.height;

 

let mouse = { x:0, y:0};

let draw = false;

 

canvas.addEventListener("mousedown", function(e){

 

mouse.x = e.pageX - this.offsetLeft;

mouse.y = e.pageY - this.offsetTop;

draw = true;

context.beginPath();

context.moveTo(mouse.x, mouse.y);

});

canvas.addEventListener("mousemove", function(e){

 

if(draw==true){

 

mouse.x = e.pageX - this.offsetLeft;

mouse.y = e.pageY - this.offsetTop;

context.lineTo(mouse.x, mouse.y);

context.stroke();

}

});

canvas.addEventListener("mouseup", function(e){

 

mouse.x = e.pageX - this.offsetLeft;

mouse.y = e.pageY - this.offsetTop;

context.lineTo(mouse.x, mouse.y);

context.stroke();

context.closePath();

draw = false;

});

</script>




Дата добавления: 2021-01-26; просмотров: 360;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.