Управление наложением графики
Управление наложением графики
Когда мы рисуем новую фигуру на том месте канвы, где уже присутствует ранее нарисованная фигура, новая фигура накладывается на старую, перекрывая ее. Это поведение канвы по умолчанию, которое мы можем изменить.
Для управления наложением графики предусмотрено свойство
globalCompositeOperation.
Вот его допустимые значения:
— "source-over" — новая фигура накладывается на старую, перекрывая ее (значение по умолчанию);
— "destination-over" — новая фигура перекрывается старой;
— "source-in" — отображается только та часть новой фигуры, которая накладывается на старую. Остальные части новой и старой фигур не выводятся;
— "destination-in" — отображается только та часть старой фигуры, на которую накладывается новая. Остальные части новой и старой фигур не выводятся;
— "source-out" — отображается только та часть новой фигуры, которая не накладывается на старую. Остальные части новой фигуры и вся старая фигура не выводятся;
— "destination-out" — отображается только та часть старой фигуры, на которую не накладывается новая. Остальные части новой фигуры и вся старая фигура не выводятся;
— "source-atop" — отображается только та часть новой фигуры, которая накладывается на старую; остальная часть новой фигуры не выводится. Старая фигура выводится целиком и находится ниже новой;
— "destination-atop" — отображается только та часть старой фигуры, которая накладывается на новую; остальная часть старой фигуры не выводится. Новая фигура выводится целиком и находится ниже старой;
— "lighter" — цвета накладывающихся частей старой и новой фигур складываются, результирующий цвет получается более светлым, окрашиваются накладывающиеся части фигур;
— "darker" — цвета накладывающихся частей старой и новой фигур вычитаются, в полученный цвет, который получается более темным, окрашиваются накладывающиеся части фигур;
— "xor" — отображаются только те части старой и новой фигур, которые не накладываются друг на друга;
— "copy" — выводится только новая фигура; все старые фигуры удаляются с канвы.
Заданный нами способ наложения графики действует только для графики, которую мы нарисуем после этого. На уже нарисованную графику он влияния не оказывает.
Листинг 22.15 иллюстрирует пример.
Листинг 22.15
ctxCanvas.fillStyle = "blue";
ctxCanvas.fillRect(0, 50, 400, 200);
ctxCanvas.fillStyle = "red";
ctxCanvas.globalCompositeOperation = "source-over";
ctxCanvas.fillRect(100, 0, 200, 300);
Web-сценарий из листинга 22.15 рисует два накладывающихся прямоугольника разных цветов и позволит изучить поведение канвы при разных значениях свойства globalCompositeOperation. Изменяем значение этого свойства, перезагружаем Web-страницу нажатием клавиши <F5> и смотрим, что получится.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Графики влияния DOM-дерева
Графики влияния DOM-дерева Ниже приведены разделенные графики по средневзвешенному (естественно, основную роль играет Internet Explorer, ибо сейчас им пользуются от 50% до 70% посетителей наших сайтов) времени создания документа (рис. 6.1) Рис. 6.1. Скорость создания документа,
Форматы интернет-графики
Форматы интернет-графики На данный момент существует несколько десятков форматов хранения графики в файлах. Но Web-обозреватели поддерживают далеко не все. В WWW сейчас используются всего три формата, которые мы далее рассмотрим.Нужно отметить, что все три формата
Управление наложением графики
Управление наложением графики Когда мы рисуем новую фигуру на том месте канвы, где уже присутствует ранее нарисованная фигура, новая фигура накладывается на старую, перекрывая ее. Это поведение канвы по умолчанию, которое мы можем изменить.Для управления наложением
Форматы интернет-графики
Форматы интернет-графики На данный момент существует несколько десятков форматов хранения графики в файлах. Но Web-обозреватели поддерживают далеко не все. В WWW сейчас используются всего три формата, которые мы далее рассмотрим.Нужно отметить, что все три формата
Диаграммы и графики
Диаграммы и графики Разглядеть смысл, скрывающийся за бесконечными рядами чисел, может только специалист, а вот понять (или по крайней мере заявить, что понимает) гистограмму или круговую диаграмму может каждый. В VBA нет встроенных средств для создания диаграмм, но такие
Улучшение графики
Улучшение графики На данный момент игра достаточно увлекательна, но графика оставляет желать лучшего. Когда объекты проходят друг через друга, можно увидеть ограничивающие прямоугольники объекта. Надо исправить эту ситуацию.Для решения проблемы можно использовать
Два вида статичной графики
Два вида статичной графики Сначала поговорим о двух принципиально разных видах статичной компьютерной графики. А именно, о растровой и векторной графике. Это нам очень пригодится в дальнейшем.Растровая графикаЕсли хорошенько рассмотреть фотографию в электронном виде
Форматы графики
Форматы графики В этом разделе речь пойдет о самых распространенных на сегодняшний день форматах сохранения графики в файлах. Как правило, все эти форматы поддерживаются Flash, за исключением некоторых, особо оговоренных нами. Дополнительные, менее распространенные
Правка графики
Правка графики Итак, создавать графику мы научились. Теперь давайте выясним, как ее править.Под правкой графики мы будем понимать изменение ее формы, а также ее полное или частичное удаление. Как добавить новые линии или фигуры, мы уже прекрасно знаем — достаточно
Выделение графики
Выделение графики Для выделения фрагментов графики служит очень мощный инструмент Selection Tool (Стрелка1). Чтобы его выбрать, нужно щелкнуть по кнопке в главном инструментарии: Или нажать клавишу <V> на клавиатуре. Курсор мыши после этого примет вид небольшой черной
Фрагментация и слияние графики
Фрагментация и слияние графики Прежде чем мы приступим к рассмотрению способов правки уже созданной графики, поговорим еще об одной особенности Flash. Это так называемая фрагментация графики. Суть ее в том, что монолитное, казалось бы, изображение в определенных случаях
Правка графики
Правка графики Ну что ж, пора приниматься за правку нарисованного. Как говорили древние греки — чаще поворачивай стиль. Проверим, выбран ли у нас инструмент "стрелка", так как подавляющее большинство операций по правке графики выполняются именно с его помощью. Если же для
Импорт графики
Импорт графики Существуют два способа импортировать во Flash графику, созданную в другом графическом пакете. Рассмотрим их.Первый способ очень прост. Выбираем пункт Import to Stage подменю Import меню File или нажимаем комбинацию клавиш <Ctrl>+<R>. На экране появится стандартное
Векторизация растровой графики
Векторизация растровой графики Иногда бывает нужно преобразовать импортированное растровое изображение в векторное (векторизовать его). Это может пригодиться, если мы захотим исправить импортированное растровое изображение прямо в среде Flash, не прибегая к другим