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

Графика Canvas HTML

Элемент <canvas> используется для рисования графики на веб-странице, такой как прямоугольники, градиенты и текст.


Что Такое HTML Canvas?

Элемент <canvas> используется для рисования графики «на лету» с помощью JavaScript. Сам элемент — лишь контейнер; для собственно рисования нужно использовать JavaScript. У Canvas есть методы для рисования путей, прямоугольников, кругов, текста и изображений, и он поддерживается всеми основными браузерами.


Примеры Canvas

Canvas — это прямоугольная область на странице. По умолчанию у неё нет ни границы, ни содержимого.

Примечание: Всегда задавайте ему id (чтобы обращаться к нему в скрипте), а также атрибуты width и height, чтобы задать его размер. Чтобы добавить границу, используйте атрибут style.

Пример

Базовый, пустой canvas с границей.

Prompt
Страница с базовым пустым canvas 200x100 (id myCanvas), которому через атрибут style задана сплошная чёрная рамка 1px.
Вывод: полная HTML-страница

Разметка canvas

Базовая разметка для элемента canvas.

index.html
<canvas id="myCanvas" width="200" height="100"></canvas>

Добавление JavaScript

После создания области canvas добавьте JavaScript для рисования. Получите canvas с помощью getElementById, затем вызовите getContext("2d"), чтобы получить контекст рисования, и используйте его методы. Вот несколько примеров.

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

Рисование линии с помощью moveTo, lineTo и stroke.

Prompt
Страница с canvas 200x100 и скрипт, который рисует линию от (0,0) до (200,100) с помощью getContext('2d'), moveTo, lineTo и stroke.
Вывод: полная HTML-страница

Рисование Круга

Рисование круга с помощью arc и stroke.

Prompt
Страница с canvas 200x100 и скриптом, который рисует круг с центром в точке (95,50) радиусом 40 с помощью arc и stroke.
Результат: полная HTML-страница

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

Рисование заполненного текста с помощью fillText.

Prompt
Страница с canvas 200x100 и скрипт, который рисует закрашенный текст "Привет, мир" шрифтом 30px Arial в позиции (10,50) с помощью fillText.
Вывод: полная HTML-страница

Текст с Обводкой

Рисование текста с контуром с помощью strokeText.

Prompt
Страница с canvas 200x100 и скрипт, который рисует контурный текст "Привет, мир" шрифтом 30px Arial в позиции (10,50) с помощью strokeText.
Вывод: полная HTML-страница

Рисование Линейного Градиента

Заливка прямоугольника линейным градиентом.

Prompt
Страница с canvas 200x100 и скрипт, который заполняет прямоугольник горизонтальным линейным градиентом от красного к белому.
Вывод: полная HTML-страница

Рисование Кругового Градиента

Заливка прямоугольника радиальным градиентом.

Prompt
Страница с canvas 200x100 и скриптом, который заполняет прямоугольник радиальным (круговым) градиентом от красного к белому.
Результат: полная HTML-страница

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

Рисование существующего изображения на canvas с помощью drawImage.

Prompt
Страница со скрытым изображением (id scream) и canvas 200x100, а также скрипт, который рисует изображение на canvas в позиции (10,10) с помощью drawImage.
Вывод: полная HTML-страница