Объект Canvas в DOM HTML

  • Предыдущая страница <button>
  • Следующая страница <caption>

Элемент <canvas> определяет область битмапа на странице HTML.

API Canvas позволяет JavaScript рисовать графики на канвасе.

API Canvas позволяет рисовать фигуры, линии, кривые, прямоугольники, текст и изображения, а также выполнять цветовые операции, вращение, прозрачность и другие операции с像素ами.

Добавление Canvas в HTML

Вы можете добавить элемент canvas в любое место HTML страницы с помощью тега <canvas>:

Пример

<canvas id="myCanvas" width="300" height="150"></canvas>

Попробуйте сами

Как访问 Canvas элемент

Вы можете использовать метод HTML DOM getElementById() для доступа к элементу <canvas>:

const myCanvas = document.getElementById("myCanvas");

Чтобы нарисовать на канвасе, вам нужно создать объект 2D контекста:

const ctx = myCanvas.getContext("2d");

Заметка

Элемент HTML <canvas> сам по себе не имеет функциональности рисования.

Вы должны использовать JavaScript для рисования любых графиков.

Метод getContext() возвращает объект с инструментами рисования (методами).

Рисование на канвасе

После создания объекта 2D контекста вы можете рисовать на канвасе.

Ниже метод fillRect() нарисовал черный прямоугольник, верхний левый угол которого находится в положении 20,20. Ширина прямоугольника 150 пикселей, высота 100 пикселей:

Пример

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ctx.fillRect(20, 20, 150, 100);

Попробуйте сами

Использование цвета

fillStyle свойство устанавливает цвет заливки объекта рисования:

Пример

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);

Попробуйте сами

Вы также можете использовать метод document.createElement() для создания нового элемента <canvas> и добавления его в существующую HTML-страницу:

Пример

const myCanvas = document.createElement("canvas");
document.body.appendChild(myCanvas);
const ctx = myCanvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);

Попробуйте сами

Путь

Обычные методы рисования на канвасе:

  1. Начать путь - beginPath()
  2. Переместиться к точке - moveTo()
  3. Рисовать в пути - lineTo()
  4. Рисовать путь - stroke()

Пример

const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(20, 100);
ctx.lineTo(70, 100);
ctx.stroke();

Попробуйте сами

Цвет, стиль и тень

атрибуты Описание
fillStyle Установить или вернуть цвет, градиент или узор для заливки.
strokeStyle Установить или вернуть цвет, градиент или узор для контура.
shadowColor Установить или вернуть цвет тени.
shadowBlur Установить или вернуть уровень размытия тени.
shadowOffsetX Установить или вернуть горизонтальное расстояние тени до формы.
shadowOffsetY Установить или вернуть вертикальное расстояние тени до формы.
Методы Описание
createLinearGradient() Создать линейный градиент (для содержимого канваса).
createPattern() Повторять指定的 элемент в указанном направлении.
createRadialGradient() Создать радиальный/круговой градиент (для содержимого канваса).
addColorStop() Определить цвета и позиции остановки в градиенте.

Стиль линии

атрибуты Описание
lineCap Установить или вернуть стиль капа линии.
lineJoin Установить или вернуть тип угла, создаваемого при пересечении двух линий.
lineWidth Установить или вернуть текущую ширину линии.
miterLimit Установить или вернуть максимальную длину скоса.

Прямоугольник

Методы Описание
rect() Создать прямоугольник.
fillRect() Нарисовать «заполненный» прямоугольник.
strokeRect() Нарисовать прямоугольник (без заливки).
clearRect() Удалить指定的 пиксели в заданном прямоугольнике.

Путь

Методы Описание
fill() Заполнить текущий график (путь).
stroke() Фактически нарисовать путь, который вы определили.
beginPath() Начать путь или сбросить текущий путь.
moveTo() Переместить путь к указанной точке на канвасе, не создавая линии.
closePath() Создать путь, возвращающий к начальной точке.
lineTo() Добавить новый пункт и создать линию от этого пункта к последнему указанному пункту на канвасе.
clip() Вырезать любую форму и размер из исходного канваса.
quadraticCurveTo() Создать二次 Бezier-кривую.
bezierCurveTo() Создать三次 Бezier-кривую.
arc() Создать дугу/кривую (используется для создания круга или части круга).
arcTo() Создать дугу/кривую между двумя касательными.
isPointInPath() Вернуть true, если указанная точка находится в текущем пути, в противном случае вернуть false.

Преобразование

Методы Описание
scale() Увеличить или уменьшить текущий график.
rotate() Обернуть текущий график.
translate() Переместить текущее положение на (0,0) на канвасе.
transform() Заменить текущую матрицу преобразования рисования.
setTransform() Сбросить текущие преобразования к единичной матрице. Затем выполнить transform().

Текст

атрибуты Описание
font Установить или вернуть текущие свойства шрифта текста.
textAlign Установить или вернуть текущий способ выравнивания текста.
textBaseline Установить или вернуть текущую текстовую базовую линию для рисования текста.
Методы Описание
fillText() Рисование заливного текста на canvas.
strokeText() Рисование текста на canvas (без заливки).
measureText() Возвратить объект, содержащий ширину указанного текста.

Рисование изображений

Методы Описание
drawImage() Рисование изображений, canvas или видео на canvas.

Операции с像素ами

атрибуты Описание
width Возвратить ширину объекта ImageData.
height Возвратить высоту объекта ImageData.
data Возвратить объект, содержащий данные изображения из указанного объекта ImageData.
Методы Описание
createImageData() Создать новый пустой объект ImageData.
getImageData() Возвратить объект ImageData, который копирует данные пикселей из указанного прямоугольника на canvas.
putImageData() Возвратить изображенные данные (из указанного объекта ImageData) на canvas.

Составление

атрибуты Описание
globalAlpha Установить или вернуть текущее значение alpha или прозрачности рисования.
globalCompositeOperation Установить или вернуть способ нанесения нового изображения на существующее изображение.

Другое

Методы Описание
save() Сохранение текущего состояния контекста.
restore() Возврат сохраненного состояния и свойств пути.
createEvent()
getContext()
toDataURL()

Стандартные атрибуты и события

Объект canvas поддерживает стандартныеатрибутыиСобытия.

Связанные страницы

Учебник HTML:Canvas HTML5

Учебник HTML по изображениям:Учебник HTML Canvas

Референтное руководство HTML:Тег <canvas> HTML

  • Предыдущая страница <button>
  • Следующая страница <caption>