Используя HTML5 элемент canvas можно рисовать на веб-страницах произвольные фигуры.
ТвитнутьПрежде чем приступить к изучению элемента canvas Вы должны иметь базовые знания JavaScript.
Получить соответствующие знания Вы можете в нашем JavaScript учебнике.
Элемент <сanvas> позволяет рисовать на веб-страницах произвольные фигуры с помощью JavaScript (или других клиентских скриптов).
При создании элемента canvas необходимо задать атрибут id (определяет имя элемента для доступа к нему из скриптов) и его размеры с помощью атрибутов width (ширина) и height (высота).
Содержимое помещенное между тэгами будет отображено если браузер пользователя не поддерживает элемент canvas.
<canvas id='draw' width='300' height='200'>Вы видите это сообщение, потому что Ваш браузер не поддерживает canvas.</canvas>
Обратите внимание: сам по себе canvas ничего не рисует. Он представляет собой холст, который предоставляет возможности для рисования клиентским скриптам.
Метод | Описание |
---|---|
fillRect(x,y,ширина,высота) | Рисует закрашенный прямоугольник. |
strokeRect(x,y,ширина,высота) | Рисует не закрашенный прямоугольник. |
clearRect(x,y,ширина,высота) | Очищает указанную зону делая ее полностью прозрачной. |
Обратите внимание: параметры x и y задают величину смещения прямоугольника по горизонтали (x) и вертикали (y) от верхнего левого угла холста в пикселях.
Теперь попробуем нарисовать, что-нибудь на холсте.
Пример
var canvas=document.getElementById("draw"); var x=canvas.getContext("2d"); x.fillRect(50,40,55,55); x.strokeRect(150,70,55,55); x.clearRect(68,57,20,20);
Объяснение примера:
Составные фигуры состоят из нескольких соединенных простых объектов (таких как линии, круги и т.д.).
beginPath(); /* Простые объекты помещаются здесь */ closePath(); // Автоматически завершает фигуру (соединяет конечную точку с начальной) //Теперь необходимо вызвать один из методов для рисования фигуры определенной выше stroke(); //нарисует фигуру не закрашенной fill(); //нарисует фигуру закрашенной
Обратите внимание: метод closePath() может отсутствовать.
Пример
var canvas=document.getElementById("draw"); var x=canvas.getContext("2d"); x.beginPath(); x.moveTo(20,20); x.lineTo(70,70); x.lineTo(20,70); x.closePath(); x.fill();
Таблица простых объектов.
Объекты | Описание |
---|---|
moveTo(x,y) | Устанавливает координаты точки, из которой начнется рисование следующего объекта. |
lineTo(x,y) | Рисует прямую линию. |
arc(x,y,радиус,нач_угол,конеч_угол) | Рисует круг. Угол необходимо задавать в радианах, а не в градусах (радианы=(Math.PI/180)*градусы). |
rect(x, y, ширина, высота) | Рисует прямоугольник. |
Пример
var x1=(Math.PI/180)*0; var x2=(Math.PI/180)*360; var canvas=document.getElementById("draw") var x=canvas.getContext("2d"); x.beginPath(); x.arc(30,30,20,x1,x2); x.moveTo(100,100); x.rect(70,50,70,70); x.fill();