English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
HTML5 Canvas использует функцию drawImage() для рисования изображений, перед тем как нарисовать изображение на холсте, нужно создать объект Image и затем загрузить изображение в память.
HTML5 холст имеет опции для рисования изображений на нем. Вы можете использовать различные функции объекта 2D контекста drawImage() для выполнения этой операции. Есть три различных функции drawImage():
drawImage(image, dx, dy); drawImage(image, dx, dy, dw, dh); drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh);
Первый параметр image — это изображение, которое нужно нарисовать. В этой статье稍źniej будет объяснено, как создавать и загружать изображения.
В параметрах dx и dy являются краткосрочными «destinationX» и «destinationY». Эти параметры определяют положение изображения на холсте при его рисовании.
В параметрах dw и dh являются краткосрочными «destinationWidth» и «destinationHeight». Эти параметры определяют размер изображения при его масштабировании при рисовании.
Параметры sx и sy являются краткими «sourceX» и «sourceY». Эти параметры определяют, с какой позиции из исходного изображения начнется копирование прямоугольника на канвас.
Параметры sw и sh являются краткими «sourceWidth» и «sourceHeight»
Прежде чем нарисовать изображение на канвасе, необходимо создать объект Image и загрузить изображение в память. Это можно сделать с помощью JavaScript:
var image = new Image(); image.src = "https://ru.oldtoolbag.com/en/run/html/canvas-shot.png";
Необходимо полностью загрузить изображение, чтобы можно было нарисовать его. Чтобы определить, полностью ли загружено изображение, добавьте к нему слушатель событий. Этот слушатель событий вызывается при загрузке изображения. Он выглядит так:
image.addEventListener('load', drawImage1);
Параметр drawImage1 является функцией, которая вызывается при срабатывании события.
Это полный пример кода, который можно создать на канвасе, загрузить и нарисовать изображение:
window.onload = function() { drawEx1(); } var image1 = null; function drawEx1() { image1 = new Image(); image1.src = "https://ru.oldtoolbag.com/en/run/html/canvas-shot.png"; image1.addEventListener('load', drawImage1); } function drawImage1() { var canvas = document.getElementById("ex1"); var context = canvas.getContext("2d"); context.drawImage(image1, 10, 10); }
Это результат кода, который был использован для рисования на канвасе:
Как было сказано в начале статьи, вы можете масштабировать изображение при его рисовании. Это пример кода, который рисует изображение и масштабирует его до ширины 200 и высоты 100 пикселей:
var width = 200; var height = 100; context.drawImage(image2, 10, 10, width, height);
Вот как выглядит изображение при рисовании на канвасе, с масштабированной шириной и высотой:
Можно нарисовать только часть изображения на канвасе. Рисуемая часть - это копированный прямоугольник из изображения. Вот пример кода:
var dx = 10; var dy = 10; var dw = 75; var dh = 75; var sx = 20; var sy = 20; var sw = 75; var sh = 75; context.drawImage(image3, sx, sy, sw, sh, dx, dy, dw, dh);
Параметры sx, sy, sw и sh (создается sx, sy начальный прямоугольник изображения) и ширина (sw) и высота (sh) прямоугольника.
Вот как выглядит вид изображения в виде прямоугольника при рисовании на канвасе: