Текущее занятие будет отличаться от предыдущих отсутствием заданий для выполнения. Целью занятия является демонстрация способов работы с цветом fillStyle и strokeStyle.
По аналогии с методами и , fillStyle задает цвет заливки фигуры, а strokeStyle – цвет обводки фигуры.
Допустимыми значениями методов задания цветов могут быть строки - значения цветов CSS3.
К примеру, могут быть использованы непосредственно названия цветов. Рассмотрим на примере – создадим массив строк, обозначающих цвета в CSS для отрисовки цветов радуги:
function createImage()
{
var ctx = document.getElementById('lesson9').getContext('2d');
var colors = ["red","orange","yellow","green","lightblue","blue","violet"];
for (i=0; i<7; i++)
{
ctx.fillStyle=colors[i];
ctx.fillRect(20*i,20,20,200);
}
}
С результатом можно ознакомиться, открыв HTML - страницу в проводнике.
(рис 27.1) Пример отображения цветов а) - при использовании fillStyle и fillRect б) - при использовании strokeStyle и strokeRect
Можно для задания цветов использовать - строки, приведенный результат на рис. 27.1 . не изменится, в случае определения массива цветов следующим образом:
var colors = ["#FF0000","#FFA500","#FFFF00","#008000","#ADD8E6","#0000FF","#EE82EE"];
Помимо указанных способов определения цветов могут быть указаны их - обозначения, посредством задания строки вида rgd(r,g,b):
var colors = ["rgb(255,0,0)", "rgb(255,165,0)", "rgb(255,255,0)", "rgb(0,255,0)", "rgb(173,216,230)","rgb(0,0,255)","rgb(238,130,238)"];
На холсте можно выводить полупрозрачные фигуры. Значение прозрачности определяется так называемым значением globalAppha и находится в пределах [0,0 ; 1,0]. При этом 1.0 – непрозрачное значение, заданное по - умолчанию.
Для установки прозрачности цвета в методах fillStyle и strokeStyle используются строки вида ", где параметр a задает значение прозрачности цвета. Иными словами, следующий код задаст красный цвет средней прозрачности.
Рассмотрим на примере, схожем с предыдущим. Вместо одного
Для хранения кодов цветов будем использовать хэш (см. Лекцию №12):
function createImage()
{
var ctx = document.getElementById('lesson9').getContext('2d');
var clr = ["red","orange","yellow","green","lightblue","blue","violet"];
/* этот массив понадобится нам для корректности ссылок на элементы хэша */
var colors = {}; /* объявляем хэш, в котором будем хранить rgb значение цветов*/
colors["red"] = [255,0,0]; /* rgb код красного цвета и т.д.*/
colors["orange"] = [255,165,0];
colors["yellow"] = [255,255,0];
colors["green"] = [0,255,0];
colors["lightblue"] = [173,216,230];
colors["blue"] = [0,0,255];
colors["violet"] = [238,130,238];
var x=0;
/*вспомогательная переменная, для задания координаты по -
горизонтали очередного залитого цветом прямоугольника*/
for (i=0; i<7; i++)
/* цикл для обращения к элементам хэша, хранящим массив rgb кода */
{
for(j=1; j<5; j++)
{
ctx.fillStyle="rgba("+colors[clr[i]][0]+","+colors[clr[i]][1]+",
"+colors[clr[i]][2]+
","+(j*0.2)+")";
/*задание параемтров цвета заливки*/
ctx.fillRect(x,20,20,100); /*отрисовка прямоугольника*/
x=x+20;
// приращение переменной координаты по - горизонтали, для того,
чтобы следующий прямоугольник нe накладывался на предыдущий */
}
}
}
В результате получим следующее:
(рис 27.2) Пример задания прозрачности для цветов
На этом мы заканчиваем рассмотрение базовых принципов работы с цветами в рамках холста. Для более детального изучения рекомендуется изучить материалы, представленные ссылками ниже.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.