API Canvas
- Предыдущая страница Стиль HTML
- Следующая страница Консоль API
Элемент <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);
Путь
Обычные методы рисования на холсте:
- Начало пути - beginPath()
- Перемещение к точке - moveTo()
- Рисование в пути - lineTo()
- Рисование контура - 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() | Создать дваждыBezier-кривую. |
bezierCurveTo() | Создать триждыBezier-кривую. |
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() |
Связанные страницы
Учебник HTML:Canvas HTML5
Учебник HTML:Учебник HTML Canvas
Руководство HTML:Тег <canvas> HTML
- Предыдущая страница Стиль HTML
- Следующая страница Консоль API