Использование сложных цветов
Использование сложных цветов
Ранее для линий и заливок у нас были только простые, однотонные, цвета. Настала пора познакомиться со средствами канвы для создания и использования сложных цветов: градиентных и графических.
Линейный градиентный цвет
В линейном градиентном цвете (или просто линейном градиенте) один простой цвет плавно переходит в другой при движении по прямой линии. Пример такого цвета — окраска заголовка окна в Windows 2000 и более поздних версиях Windows при выборе классической темы; там синий цвет плавно перетекает в белый.
Линейный градиентный цвет создают в три этапа.
Первый этап — вызов метода createLinearGradient — собственно создание линей- ного градиентного цвета:
<контекст рисования>.createLinearGradient(<горизонтальная координата начальной точки>,<вертикальная координата начальной точки>,<горизонтальная координата конечной точки>,<вертикальная координата конечной точки>)
Параметры этого метода определяют координаты начальной и конечной точки воображаемой прямой, по которой будет "распространяться" градиент. Они отсчитываются относительно канвы и задаются в пикселах в виде чисел.
Метод createLinearGradient возвращает экземпляр объекта CanvasGradient, представляющий созданный нами линейный градиент. Мы используем его для указания цветов, формирующих градиент.
Вот выражение, создающее линейный градиент, который будет "распространяться" по прямой с координатами начальной и конечной точек [0,0] и [100,50], и помещающее его в переменную lgSample:
var lgSample = ctxCanvas.createLinearGradient(0, 0, 100, 50);
Второй этап — расстановка так называемых ключевых точек градиента, определяющих позицию, в которой будет присутствовать "чистый" цвет. Между ключевыми точками будет наблюдаться переход между цветами. Таких ключевых точек может быть сколько угодно.
Ключевую точку ставят, вызвав метод addColorStop объекта CanvasGradient:
<градиент>.addColorStop(<положение ключевой точки>, <цвет>)
Первый параметр определяет относительное положение создаваемой ключевой точки на воображаемой прямой, по которой "распространяется" градиент. Он задается в виде числа от 0.0 (начало прямой) до 1.0 (конец прямой). Второй параметр задает цвет, который должен присутствовать в данной ключевой точке, в виде строки; при этом допустимы все форматы описания цвета, упомянутые в начале этой главы.
Метод addColorStop не возвращает значения. Пример:
lgSample.addColorStop(0, "black");
lgSample.addColorStop(0.4, "rgba(0, 0, 255, 0.5)");
lgSample.addColorStop(1, "#FF0000");
Этот Web-сценарий создает на полученном нами ранее линейном градиенте три ключевые точки:
— расположенную в начальной точке воображаемой прямой и задающую черный цвет;
— расположенную в точке, отстоящей на 40 % длины воображаемой прямой от ее начальной точки, и задающую полупрозрачный синий цвет;
— расположенную в конечной точке воображаемой прямой и задающую красный цвет.
Третий этап — собственно использование готового линейного градиента. Для этого представляющий его экземпляр объекта CanvasGradient следует присвоить свойству strokeStyle или fillStyle. Первое свойство, как мы помним, задает цвет линий
контуров, а второе — цвет заливок:
ctxCanvas.fillStyle = lgSample;
А теперь нам нужно рассмотреть один очень важный вопрос. И рассмотрим мы его на примере созданного ранее градиента.
Предположим, что мы нарисовали на канве три прямоугольника и применили к ним наш линейный градиент. Первый прямоугольник нарисован в точке [0,0] (в начале воображаемой прямой градиента, в смысле, в его первой ключевой точке), второй — в точке [30,20] (во второй ключевой точке), третий — в точке [80,40] (в конце градиента — его третьей ключевой точке). Иначе говоря, мы "расставили" наши прямоугольники во всех ключевых точках градиента.
Как будут окрашены эти прямоугольники? Давайте посмотрим.
— Первый прямоугольник будет окрашен, в основном, в черный цвет, заданный в первой ключевой точке градиента.
— Второй прямоугольник будет окрашен, в основном, в полупрозрачный синий цвет, заданный во второй ключевой точке градиента.
— Третий прямоугольник будет окрашен, в основном, в красный цвет, заданный в третьей ключевой точке градиента.
Следовательно, созданный нами градиент не "втиснулся" в каждый из нарисованных прямоугольников целиком, а как бы зафиксировался на самой канве, а прямо- угольники только "проявили" фрагменты этого градиента, соответствующие их размерам. Другими словами, градиент задается для целой канвы, а фигуры, к которым он применен, окрашиваются соответствующими его фрагментами.
Если мы захотим, чтобы какая-то фигура была окрашена градиентом полностью, придется задать для этого градиента такие координаты воображаемой прямой, что- бы он "покрыл" всю фигуру. Иначе фигура будет содержать только часть градиента.
Листинг 22.9
var lgSample = ctxCanvas.createLinearGradient(0, 0, 100, 50);
lgSample.addColorStop(0, "black"); lgSample.addColorStop(0.4, "rgba(0, 0, 255, 0.5)"); lgSample.addColorStop(1, "#FF0000"); ctxCanvas.fillStyle = lgSample;
ctxCanvas.fillRect(0, 0, 200, 100);
Web-сценарий из листинга 22.9 рисует прямоугольник и заполняет его линейным градиентом, аналогичным созданному ранее в этом разделе. Попробуйте изменить координаты и размеры рисуемого прямоугольника и посмотрите, какая часть градиента в нем появится.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Пользовательские настройки цветов
Пользовательские настройки цветов Чтобы цветовая схема вашей страницы отвечала цветовой схеме операционной системы пользователя, вы можете использовать одно из определенных в CSS значений, задающих цвета следующих элементов.• ActiveBorder – граница активного окна.• ActiveCaption
Использование сложных цветов
Использование сложных цветов Ранее для линий и заливок у нас были только простые, однотонные, цвета. Настала пора познакомиться со средствами канвы для создания и использования сложных цветов: градиентных и графических. Линейный градиентный цвет В линейном градиентном
Color Conversion (Преобразование цветов)
Color Conversion (Преобразование цветов) При использовании данного фильтра на изображении исчезает разница между цветом источника освещения и общей температурой цвета фотографии (рис. 4.5). Рис. 4.5. Исходное изображение (слева) и пример использования фильтра Color Conversion
Color Correct (Коррекция цветов)
Color Correct (Коррекция цветов) Дает возможность изменять значение каждого из трех составляющих цветов изображения – красного, зеленого и синего, что позволяет увеличить или уменьшить влияние на общую картину теней изображения, средних тонов и ярких участков
Использование цветов в языке HTML
Использование цветов в языке HTML Страница не будет достаточно красочной, если ограничиться в ее оформлении только черным и белым цветом. Вкратце расскажем, как задается цвет тех или иных элементов страницы в языке HTML.Тег, определяющий цвет, выглядит следующим образом:
Выбор цветов
Выбор цветов Значения свойств ForeColor и BackColor задают соответственно цвет переднего плана и цвет фона для форм и элементов управления. Для элементов управления значение свойства ForeColor задает цвет текста, размещаемого на элементе управления. Это свойство недоступно для тех
17.3. Создание, установка и использование цветов
17.3. Создание, установка и использование цветов Постановка задачи Требуется иметь возможность получать ссылки на цветовые объекты с последующим использованием этих объектов при рисовании различных форм в виде. К числу форм можно отнести текст, прямоугольники,
4.3. Создание сложных материалов
4.3. Создание сложных материалов Хотя материал Standard (Стандартный) применяется наиболее часто, 3ds Max предоставляет возможность создавать различные сложные материалы, состоящие из двух или более стандартных материалов. В этом случае материал Standard (Стандартный) предназначен
Подбор цветов
Подбор цветов CreateColorSpace Функция CreateColorSpace создает логическое цветовое пространство. HCOLORSPACE CreateColorSpace ( LPLOGCOLORSPACE lpLogColorSpace ); Параметры lpLogColorSpace - указывает на структуру типа LOGCOLORSPACE . Возвращаемые значения В случае успеха возвращается дескриптор, который идентифицирует
21.2.9. Применение различных цветов
21.2.9. Применение различных цветов Благодаря применению цвета можно придать экрану, где. отображается поток ввода, более привлекательный вид. При работе с цветами используется стандарт ANSI. Однако не все цвета можно применить во всех системах. Предлагаем перечень наиболее
Съемка цветов и других растений
Съемка цветов и других растений Тем, кто увлекается съемкой цветов, можно позавидовать. Их объекты доступны в любое время года: в лесу, в ботаническом саду, на клумбе, в цветочном киоске. Цветы очень декоративны, а значит, композиция вашего снимка должна быть очень простой.
Выбор цветов
Выбор цветов Для рисования вы можете использовать один из 28 цветов палитры. Щелчок левой кнопкой мыши на выбранном цвете изменяет основной цвет рисования, а щелчок правой кнопкой мыши позволяет изменить цвет фона. Вы всегда можете увидеть выбранный в данный момент
5. Палитровый (256 цветов)
5. Палитровый (256 цветов)
6. Палитровый (256 цветов) + tRNS
6. Палитровый (256 цветов) + tRNS