Настройка рисования


Контекст элемента canvas предоставляет ряд свойств, с помощью которых можно настроить отрисовку на canvas. К таким свойствам относятся:

strokeStyle – устанавливает цвет линии или цвет контура, по умолчанию черный;

fillStyle – устанавливает цвет заполнения фигур, по умолчанию черный;

В качестве значений этих двух свойств указывают название цвета.

linewidth – устанавливает толщину линий, по умолчанию1.0;

lineJoin – устанавливает стиль соединения линий. Может принимать следующие значения:

- miter– прямые соединения;

- round– закругленные соединения;

- bevel– конические соединения.

globalAlpha – устанавливает прозрачность отрисовки на canvas. Принимает в качестве значения число от 0 (полностью прозрачный) до 1.0 (не прозрачный);

setLineDash – создает линию из коротких черточек. В качестве параметра принимает массив чисел, которые устанавливают расстояние между линиями.


<script>

let canvas = document.getElementById("myCanvas"),

context = canvas.getContext("2d");

context.strokeStyle = "red";

context.setLineDash([15,5]);

context.strokeRect(40, 40, 100, 100);

</script>


Фоновые изображения

Вместо конкретного цвета для заливки фигур могут использоваться изображения. Для этого у контекста canvas имеется функция createPattern(), которая принимает два параметра – изображение, которое будет использоваться в качестве фона, и принцип повторения изображения (repeat, no-repeat, repeat-x, repeat-y).

<script>

let canvas = document.getElementById("myCanvas"),

context = canvas.getContext("2d");

 

let img = new Image(); // создаем элемент Image

img.src = "dubi.png"; // устанавливаем источник изображения

img.onload = function() {

 

let pattern = context.createPattern(img, "repeat");

context.fillStyle = pattern;

context.fillRect(10, 10, 150, 150);

context.strokeRect(10, 10, 150, 150);

};

</script>

img.onload – метод, который вызывается при завершении загрузки изображения.

Создание градиента

Элемент canvas позволяет использовать градиент в качестве фона. Для этого применяется объект CanvasGradient, который можно создать либо с помощью метода createLinearGradient() (линейный градиент), либо с помощью метода createRadialGradient() (радиальный градиент).

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

Элемент canvas позволяет выводить текст. Для этого надо установить у контекста canvas свойство font:

let canvas = document.getElementById("myCanvas"),

context = canvas.getContext("2d");

context.font = "22px Verdana";

Свойство font в качестве значения принимает определение шрифта.

Вывести некоторый текст можно с помощью метода fillText():

context.fillText("Hello HTML5!", 20, 50);

Метод принимает три параметра – выводимы текст и координаты точки, с которой выводится текст.

Для вывода текста также можно использовать метод strokeText(), который создает границу для выводимых символов:

Свойство textAlign позволяет выровнять текст относительно одной из сторон (left, right, center, start, end). Последние два значения указывают позиции начала надписи и завершения надписи.

Свойство lineWidth задает ширину линии текста числовым значением

Свойство TextBaseline задает выравнивание текста по базовой линии. Может принимать следующие значения – (top, middle, bottom, alphabetic, hanging, ideographic).

Метод measureText() позволяет определить ширину текста на canvas.

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

Элемент canvas позволяет рисовать и более сложные фигуры. Для этого используется концепция геометрических путей, которые представляют набор линий, окружностей, прямоугольников и более мелких деталей, которые необходимы для построения сложной фигуры.

Для создания нового пути надо вызвать метод beginPath(), а после завершения пути – метод closePath():

let canvas = document.getElementById("myCanvas"),

context = canvas.getContext("2d");

context.beginPath();

// здесь инструкции по созданию фигур

context.closePath();

Между вызовами данных методов находятся методы, непосредственно создающие различные участки пути.

Для начала рисования пути, надо зафиксировать начальную точку этого пути. Это делается с помощью метода moveTo(), который имеет следующее определение:

MoveTo(x, y)

Метод перемещает нас на точку с координатами х и y.

Метод lineTo() рисует линию, определение у нее такое же как и у метода moveTo(). Метод рисует линию от текущей позиции до точки с координатами x и y.

Для отображения пути используется метод stroke():

<canvas id="myCanvas" width="300" height="200"

style="background-color:#eee; border:1px solid #ccc;">

Ваш браузер не поддерживает Canvas

</canvas>

<script>

let canvas = document.getElementById("myCanvas"),

context = canvas.getContext("2d");

context.beginPath();

context.moveTo(30, 20);

context.lineTo(150, 140);

context.lineTo(250, 30);

context.closePath();

context.strokeStyle = "red";

context.stroke();

</script>

В примере нарисованы две линии, но мы видим три линии, которые оформлены в виде треугольника. Дело в том, что вызов метода context.closePath() завершает путь, соединяя последнюю точку с первой. В результате образуется замкнутый контур. Если контур замыкать не надо убрать этот метод.

Метод rect() создает прямоугольник. Он имеет следующее определение:



Дата добавления: 2021-01-26; просмотров: 398;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.013 сек.