Задание цвета, уровня прозрачности и толщины линий
Задание цвета, уровня прозрачности и толщины линий
Во время работы с канвой нам придется задавать цвета линий и заливок, уровень их прозрачности и толщину линий. Это выполняется с помощью особых свойств объекта CanvasRenderingContext2D.
Свойство strokeStyle задает цвет линий контура. Все фигуры, которые мы впоследствии нарисуем, будут иметь контур данного цвета. Цвет задают в виде строки либо с именем цвета, либо в привычном нам формате #RRGGBB, либо в двух других форматах, которые мы сейчас рассмотрим.
Вот первый формат:
rgb(<красная составляющая>, <зеленая составляющая>, <синяя составляющая>)
Здесь все три составляющие цвета имеют вид десятичных чисел от 0 до 255.
Второй формат позволяет дополнительно задать уровень прозрачности рисуемых линий:
rgba(<красная составляющая>, <зеленая составляющая>,<синяя составляющая>, <уровень прозрачности>)
Три составляющие цвета также представляют собой десятичные числа от 0 до 255. Уровень прозрачности задают в виде числа от 0.0 (полностью прозрачный) до 1.0 (полностью непрозрачный).
Все четыре выражения задают непрозрачный красный цвет линий контура:
ctxCanvas.strokeStyle = "red"; ctxCanvas.strokeStyle = "#FF0000"; ctxCanvas.strokeStyle = "rgb(255, 0,0)"; ctxCanvas.strokeStyle = "rgb(255, 0, 0, 1)";
А вот выражение, задающее для линий контура полупрозрачный черный цвет:
ctxCanvas.strokeStyle = "rgb(0, 0, 0, 0.5)";
Изначально, сразу после загрузки и вывода канвы на Web-страницу, линии контура будут иметь черный цвет.
Свойство fillStyle определяет цвет заливки, также в строковом виде и с использованием тех же форматов, что описаны ранее. Для цвета заливок действуют те же правила, что и для цвета линий. По умолчанию цвет заливок также черный.
Вот выражение, задающее тускло-зеленый непрозрачный цвет заливки:
ctxCanvas.fillStyle = "rgb(0, 127, 0)";
Еще один пример иллюстрирует листинг 22.1.
Листинг 22.1
ctxCanvas.strokeStyle = "rgba(255, 0, 0, 1)";
ctxCanvas.fillStyle = "rgba(255, 0, 0, 1)";
ctxCanvas.fillRect(0, 100, 400, 100);
ctxCanvas.strokeStyle = "rgba(0, 255, 0, 0.5)";
ctxCanvas.fillStyle = "rgba(0, 255, 0, 0.5)";
ctxCanvas.fillRect(100, 0, 200, 300);
Web-сценарий из листинга 22.1 рисует прямоугольник с заливкой, используя и для контура, и для заливки непрозрачный красный цвет, после чего поверх него рисует прямоугольник с заливкой, но уже полупрозрачным зеленым цветом. При этом сквозь полупрозрачный второй прямоугольник будет просвечивать непрозрачный первый. Интересный эффект, кстати!
ВНИМАНИЕ!
Нельзя присваивать значение свойства strokeStyle свойству fillStyle и наоборот. Это вызовет ошибку в Web-сценарии.
Свойство lineWidth задает толщину линий в пикселах в виде числа.
Пример:
ctxCanvas.lineWidth = 20;
ctxCanvas.strokeRect(20, 20, 360, 260);
Этот Web-сценарий рисует прямоугольник без заливки линиями толщиной 20 пикселов.
Свойство globalAlpha, возможно, также нам пригодится. Оно позволяет задать уровень прозрачности для любой графики, которую мы впоследствии нарисуем. Уровень прозрачности также задается в виде числа от 0.0 (полностью прозрачный) до 1.0 (полностью непрозрачный).
Вот выражение, задающее для всей графики, которую мы потом нарисуем на канве, уровень прозрачности 10 %:
ctxCanvas.globalAlpha = 0.1;
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Задание цвета, уровня прозрачности и толщины линий
Задание цвета, уровня прозрачности и толщины линий Во время работы с канвой нам придется задавать цвета линий и заливок, уровень их прозрачности и толщину линий. Это выполняется с помощью особых свойств объекта CanvasRenderingContext2D.Свойство strokeStyle задает цвет линий контура. Все
Задание стиля линий
Задание стиля линий Канва позволяет задать стиль линий, включающий в себя некоторые параметры, которые управляют формой их начальных и конечных точек и точек соединения линий друг с другом. Давайте их рассмотрим.Свойство lineCap задает форму начальных и конечных точек
Задание стиля линий
Задание стиля линий Канва позволяет задать стиль линий, включающий в себя некоторые параметры, которые управляют формой их начальных и конечных точек и точек соединения линий друг с другом. Давайте их рассмотрим.Свойство lineCap задает форму начальных и конечных точек
Глава 4 Технологии физического уровня и уровня связи данных
Глава 4 Технологии физического уровня и уровня связи данных 4.1 Введение За последние несколько лет было предложено беспрецедентное количество новых технологий для локальных и региональных сетей, быстро утвердившихся на компьютерном рынке. Произошел огромный скачок от
1.6.8. Правило устойчивости: устойчивость-следствие прозрачности и простоты
1.6.8. Правило устойчивости: устойчивость-следствие прозрачности и простоты Программное обеспечение называют устойчивым, когда оно выполняет свои функции в неожиданных условиях, которые выходят за рамки предположений разработчика, столь же хорошо, как и в нормальных
6.2.1. Дзэн прозрачности
6.2.1. Дзэн прозрачности Проявляющаяся в рассмотренных выше примерах модель заключается в следующем: наиболее эффективный способ создания прозрачного кода заключается в том, чтобы просто не создавать чрезмерное количество уровней абстракции над той реальной проблемой,
1.6.8. Правило устойчивости: устойчивость — следствие прозрачности и простоты
1.6.8. Правило устойчивости: устойчивость — следствие прозрачности и простоты Программное обеспечение называют устойчивым, когда оно выполняет свои функции в неожиданных условиях, которые выходят за рамки предположений разработчика, столь же хорошо, как и в нормальных
6.2.1. Дзэн прозрачности
6.2.1. Дзэн прозрачности Проявляющаяся в рассмотренных выше примерах модель заключается в следующем: наиболее эффективный способ создания прозрачного кода заключается в том, чтобы просто не создавать чрезмерное количество уровней абстракции над той реальной проблемой,
Атрибуты уровня компоновочного блока (и уровня модуля)
Атрибуты уровня компоновочного блока (и уровня модуля) Можно также задать применение атрибутов ко всем типам в рамках данного модуля или всех модулей в рамках данного компоновочного блока, если, соответственно, использовать признаки [module:] или [assembly:]. Предположим, что нам
Концы линий
Концы линий Если рассмотреть вывод предыдущего примера, вы должны заметить, что начало и конец каждой линии там оформлен вполне стандартно – линия "срезается" под углом 90° к ее направлению. Но, используя перечень LineCap, вы имеете возможность создавать объекты Pen,
17.6. Отрисовка линий
17.6. Отрисовка линий Постановка задачи Требуется просто рисовать линии в графическом
Поддержка прозрачности
Поддержка прозрачности Библиотека .NET Compact Framework позволяет использовать прозрачный цвет, но при этом налагает определенные ограничения на эту возможность. Например, в библиотеке нет такого удобного метода, как MakeTransparent. Но разработчик может задать прозрачный цвет при
Построение линий
Построение линий Активировать режим построения линий можно, нажав кнопку Line (Линия) в разделе Document (Документ) палитры инструментов. Элементы управления инструмента Line (Линия) будут отображены на палитре Info Box (Информационная палитра). Поскольку при активизации любого
Пример. Построение полилинии с установкой толщины
Пример. Построение полилинии с установкой толщины Постройте полилинию, изображенную на рис. 7.2. Рис. 7.2. Построение полилинии с установкой толщиныЗапустите команду PLINE, вызвав ее из падающего меню Draw ? Polyline или щелкнув на пиктограмме Polyline на панели инструментов Draw.
Построение линий
Построение линий Для перехода в режим построения линий щелкните на кнопке Line (Линия) в разделе Document (Документ) палитры инструментов. Элементы управления этим инструментом будут отображены на палитре Info Box (Информационная палитра). Поскольку при активизации любого
Задание цвета линий и заливок
Задание цвета линий и заливок Ну зачем еще раз рассказывать о задании цвета линий и заливок? Что мы еще об этом не знаем? Неужели Flash — настолько мощная программа, что, сколько ни говори об одном и том же, все будет мало?Увы, мало… Ведь, по сути, мы знакомы только с базовыми