Перейти к содержимому

Справочник Canvas

Элемент HTML5 <canvas> используется для рисования графики с помощью скриптов (чаще всего JavaScript). Однако сам по себе элемент <canvas> не имеет встроенных возможностей для рисования. Чтобы создать графику, необходимо использовать скрипт, так как <canvas> является лишь контейнером для графики.

Метод getContext() возвращает объект, содержащий свойства и методы для рисования на холсте.

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

PropertyDescription
fillStyleУстанавливает или возвращает цвет, градиент или узор, используемые для заливки фигур.
strokeStyleУстанавливает или возвращает цвет, градиент или узор, используемые для обводки фигур.
shadowColorУстанавливает или возвращает цвет теней.
shadowBlurУстанавливает или возвращает уровень размытия теней.
shadowOffsetXУстанавливает или возвращает смещение тени по оси X.
shadowOffsetYУстанавливает или возвращает смещение тени по оси Y.
MethodDescription
createLinearGradient()Создает линейный градиент для использования на холсте.
createPattern()Повторяет указанный элемент в заданном направлении.
createRadialGradient()Создает круговой/радиальный градиент для использования на холсте.
addColorStop()Определяет цвета и позиции остановок в объекте градиента.

Стили линий

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

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

MethodDescription
rect()Создает прямоугольники.
fillRect()Рисует залитые прямоугольники.
strokeRect()Рисует контуры прямоугольников.
clearRect()Очищает указанные пиксели в заданном прямоугольнике.

Пути

MethodDescription
fill()Заливает текущие подпути текущим fillStyle.
stroke()Обводит текущие подпути текущим strokeStyle.
beginPath()Начинает новый путь или сбрасывает текущий путь.
moveTo()Перемещает путь к заданной точке на холсте без рисования линии.
closePath()Добавляет путь от текущей точки обратно к начальной.
lineTo()Добавляет линию к текущему подпути.
clip()Создает область отсечения на основе текущего пути.
quadraticCurveTo()Добавляет квадратичную кривую Безье.
bezierCurveTo()Добавляет кубическую кривую Безье.
arc()Добавляет дугу/кривую для создания кругов или их частей.
arcTo()Добавляет дугу/кривую между двумя касательными.
isPointInPath()Определяет, находится ли указанная точка внутри текущего пути или нет.

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

MethodDescription
scale()Масштабирует текущий рисунок (увеличивает или уменьшает).
rotate()Поворачивает текущий рисунок.
translate()Изменяет систему координат холста.
transform()Применяет матрицу преобразования к холсту.
setTransform()Аналогичен transform(). Может использоваться для наклона, масштабирования и перемещения холста.

Текст

PropertyDescription
fontУстанавливает внешний вид текста, нарисованного на холсте.
textAlignУстанавливает выравнивание текста на холсте.
textBaselineУстанавливает вертикальное выравнивание текста на холсте.
MethodDescription
fillText()Добавляет текст на холст.
strokeText()Добавляет обведенный текст на холст.
measureText()Измеряет ширину текста.

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

MethodDescription
drawImage()Рисует изображение, видео или другой холст на текущем холсте.

Работа с пикселями

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

Композитинг

PropertyDescription
globalAlphaУстанавливает или возвращает текущее значение альфа-канала/прозрачности.
globalCompositeOperationУстанавливает или возвращает тип операции композитинга при рисовании нового изображения.

Прочее

MethodDescription
save()Сохраняет текущее состояние контекста.
restore()Восстанавливает состояние пути и атрибуты, сохраненные ранее.

Примечание: getContext() и toDataURL() являются методами самого элемента <canvas>, а не контекста рисования.

Practice

Что может делать метод getContext('2d') в HTML5 Canvas?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.