Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

// Определить некоторые графические атрибуты и нарисовать кривые

c.fillStyle = "#aaa"; // Серый цвет заливки

c.lineWidth = 5; // Черные (по умолчанию) линии толщиной 5 пикселов

c.fill; // Залить фигуры

c.stroke; // Нарисовать контуры

21.4.6. Прямоугольники

Объект

CanvasRenderingContext2D
определяет четыре метода рисования прямоугольников. Один из них,
fillRect,
использовался в примере 21.7 для создания меток контрольных точек кривых Безье. Все четыре метода рисования прямоугольников принимают два аргумента, определяющих координаты одного угла прямоугольника, и два аргумента, определяющих ширину и высоту. Обычно указывается верхний левый угол и положительные значения ширины и высоты, но можно также указать другие углы и передать отрицательные размеры.

Метод

fillRect
выполняет заливку внутренней области прямоугольника в соответствии со значением атрибута
fillStyle
. Метод
strokeRect
рисует контур прямоугольника, используя текущее значение атрибута
strokeStyle
и других атрибутов линий. Метод
clearRect
подобен методу
fillRect
, но он игнорирует текущее значение стиля заливки и заполняет прямоугольник прозрачными черными пикселами (цвет по умолчанию всех пустых холстов). Важно отметить, что все эти три метода не оказывают влияния ни на текущий контур, ни на текущую точку внутри этого контура.

Последний метод рисования прямоугольников называется

rect
, и он изменяет текущий контур: он добавляет указанный прямоугольник в виде отдельного фрагмента контура. Подобно другим методам определения контуров, сам по себе он не производит ни заливку, ни рисование контура.

21.4.7. Цвет, прозрачность, градиенты и шаблоны

Атрибуты

strokeStyle
и
fillStyle
определяют параметры рисования линий и заливки областей. Чаще всего эти атрибуты используются, чтобы определить непрозрачный или полупрозрачный цвет, но им также можно присваивать объекты
CanvasPattern
и
CanvasGradient
, чтобы рисование или заливка выполнялась с использованием повторяющегося изображения или линейного или радиального градиента. Кроме того, можно воспользоваться свойством
globalAlpha
, чтобы сделать полупрозрачным все, что будет рисоваться.

Чтобы определить сплошной цвет, можно использовать имена цветов, определяемые стандартом HTML41(

Aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white и yellow.

), или использовать строки в формате CSS:

context.strokeStyle = "blue"; // Рисовать синие линии

context. fillStyle = "#aaa"; // Заливку выполнять серым цветом

По умолчанию свойства

strokeStyle
и
fillStyle
имеют значение «#000000», соответствующее непрозрачному черному цвету. Текущие броузеры поддерживают цвета CSS3 и позволяют использовать форматы RGB, RGBA, HSL и HSLA определения цветов вдобавок к базовому формату RGB. Например:

var colors = [

"#f44", // Шестнадцатеричное значение RGB: красный

"#44ff44", // Шестнадцатеричное значение RRGGBB: зеленый

"rgb(60, 60, 255)", // RGB в виде целых 0-255: синий

"rgb(100%, 25%, 100%)", // RGB в виде процентов: пурпурный

"rgba(100%, 25%, 100%, 0.5)",// RGB плюс альфа 0-1: полупрозрачный пурпурный

”rgba(0,0,0,0)", // Совершенно прозрачный черный

"transparent", // Синоним предыдущего цвета

"”hsl(60, 100%, 50%)", // Насыщенный желтый

"hsl(60, 75%, 50%)", // Менее насыщенный желтый

"hsl(60, 100%, 75%)" , // Насыщенный желтый, немного светлее

"hsl(60. 100%, 25%)", // Насыщенный желтый, немного темнее

"hsla(60, 100%, 50%, 0.5)", // Насыщенный желтый, прозрачный на 50%

];

При использовании формата HSL цвет описывается тремя числами, определяющими тон (hue), насыщенность (saturation) и яркость (lightness). Тон (hue) - это величина угла в цветовом круге. Значение 0 соответствует красному цвету, 60 - желтому, 120 - зеленому, 180 - бирюзовому, 240 - синему, 300 - сиреневому и 360 -опять красному. Насыщенность описывает интенсивность цвета и определяется в процентах. Цвета с насыщенностью 0% являются оттенками серого. Яркость описывает степень яркости цвета и также определяется в процентах. Любой цвет в формате HSL со 100-процентной яркостью является белым цветом, а любой цвет с яркостью 0% - черным. В формате HSLA цвет описывается так же, как в формате HSL, но с дополнительным значением альфа-канала, которое изменяется в диапазоне от 0.0 (прозрачный) до 1.0 (непрозрачный).

  • Читать дальше
  • 1
  • ...
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: