Элемент HTML5 <canvas> используется для рисования графики через скрипты (JavaScript). Свойства и методы для рисования на canvas.
Элемент HTML5 <canvas> используется для рисования графики через скрипты (обычно JavaScript). Сам по себе элемент <canvas> — это просто пустой контейнер: рисование выполняется из скрипта.
Чтобы получить контекст рисования, вызовите метод getContext('2d') элемента. Он возвращает объект CanvasRenderingContext2D:
Почти все свойства и методы на этой странице принадлежат объекту 2D-контекста (ctx выше), а не элементу <canvas>. Исключения — getContext() и toDataURL(), которые принадлежат самому элементу <canvas>, а также свойства width/height/data в разделе Пиксельные операции, относящиеся к объектам ImageData. Они сгруппированы в отдельных разделах ниже.
Перемещает путь в заданную точку на canvas без рисования линии.
closePath()
Добавляет путь от текущей точки обратно к начальной.
lineTo()
Добавляет линию к текущему подпути.
clip()
Создаёт область отсечения из текущего пути.
quadraticCurveTo()
Добавляет квадратичную кривую Безье.
bezierCurveTo()
Добавляет кубическую кривую Безье.
arc()
Добавляет дугу/кривую для создания окружностей или их частей.
arcTo()
Добавляет дугу/кривую между двумя касательными.
ellipse()
Добавляет эллиптическую дугу к пути.
isPointInPath()
Определяет, находится ли заданная точка внутри текущего пути.
Трансформации
Метод
Описание
scale()
Масштабирует текущий рисунок (увеличивает или уменьшает).
rotate()
Поворачивает текущий рисунок.
translate()
Смещает систему координат canvas.
transform()
Применяет матрицу преобразования к canvas.
setTransform()
Аналогичен transform(). Позволяет наклонять, масштабировать и перемещать canvas.
resetTransform()
Сбрасывает текущее преобразование до единичной матрицы.
Смотрите Canvas координаты о том, как матрица преобразования сопоставляет позиции рисования с пикселями.
Текст
Свойство
Описание
font
Задаёт внешний вид текста, рисуемого на canvas.
textAlign
Задаёт выравнивание текста, рисуемого на canvas.
textBaseline
Задаёт вертикальное выравнивание текста, рисуемого на canvas.
direction
Задаёт или возвращает направление текста (ltr, rtl или inherit).
Метод
Описание
fillText()
Добавляет текст на canvas.
strokeText()
Добавляет текст с контуром на canvas.
measureText()
Измеряет ширину текста.
Смотрите руководство Canvas текст с полными примерами.
Рисование изображений
Свойство
Описание
imageSmoothingEnabled
Задаёт или возвращает, сглаживаются ли масштабированные изображения (true) или отображаются попиксельно (false).
Метод
Описание
drawImage()
Рисует изображение, видео или canvas на canvas.
Пиксельные операции
Приведённые ниже свойства принадлежат объекту ImageData, возвращаемому методами createImageData() / getImageData(), а не элементу <canvas> или контексту.
Возвращает объект ImageData, копирующий пиксельные данные указанного прямоугольника.
putImageData()
Помещает данные изображения из объекта ImageData на canvas.
Компоновка
Свойство
Описание
globalAlpha
Задаёт или возвращает текущее значение прозрачности/альфа-канала.
globalCompositeOperation
Задаёт или возвращает тип операции компоновки при рисовании нового изображения.
filter
Задаёт или возвращает CSS-фильтр, применяемый при рисовании (например, blur(4px), grayscale(1)).
Состояние canvas
Эти методы принадлежат 2D-контексту и позволяют сохранять и восстанавливать полное состояние рисования (стили, преобразования, область отсечения) в виде стека.
Метод
Описание
save()
Помещает текущее состояние контекста в стек состояний.
restore()
Извлекает последнее сохранённое состояние, восстанавливая стили и преобразования.
Элемент <canvas>
Следующие элементы принадлежат самому элементу <canvas>, а не 2D-контексту.
Элемент
Описание
getContext()
Возвращает контекст рисования для canvas — передайте '2d' для получения CanvasRenderingContext2D.
toDataURL()
Возвращает data URL (изображение в base64) содержимого canvas, например 'image/png'.