March 19

HTML Canvas Graphics

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

График создается с помощью <canvas>. Он показывает четыре элемента: красный прямоугольник, градиентный прямоугольник, многоцветный прямоугольник и многоцветный текст.

Что такое HTML Canvas?

HTML-элемент <canvas> используется для рисования графики "на лету" с помощью JavaScript.

Элемент <canvas> является всего лишь контейнером для графики. Вы должны использовать JavaScript для фактического рисования графики.

Canvas имеет несколько методов рисования путей, полей, кругов, текста и добавления изображений.

Canvas поддерживается всеми основными браузерами.

Примеры Холста

Холст - это прямоугольная область на HTML-странице. По умолчанию холст не имеет границ и содержимого.

Пометка выглядит следующим образом:

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

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

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;"> </canvas>

Добавить JavaScript

После создания прямоугольной области холста вы должны добавить JavaScript для рисования.

Вот несколько примеров:

<script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.moveTo(0, 0); ctx.lineTo(200, 100); ctx.stroke(); </script>

<script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.beginPath(); ctx.arc(95, 50, 40, 0, 2 * Math.PI); ctx.stroke(); </script>

<script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.font = "30px Arial"; ctx.fillText("Hello World", 10, 50); </script>

<script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.font = "30px Arial"; ctx.strokeText("Hello World", 10, 50); </script>

<script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d");

// Create gradient var grd = ctx.createLinearGradient(0, 0, 200, 0); grd.addColorStop(0, "red"); grd.addColorStop(1, "white");

// Fill with gradient ctx.fillStyle = grd; ctx.fillRect(10, 10, 150, 80); </script>

<script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d");

// Create gradient var grd = ctx.createRadialGradient(75, 50, 5, 90, 60, 100); grd.addColorStop(0, "red"); grd.addColorStop(1, "white");

// Fill with gradient ctx.fillStyle = grd; ctx.fillRect(10, 10, 150, 80); </script>