В вышеприведенной записи числа г (red — красный), g
(green — зеленый) и ь (blue — синий) как раз и определяют, в каких
пропорциях и что нужно смешивать. Каждое такое число может принимать значения
от 0 до 255 (числа, выходящие за указанный диапазон, приводятся к
ближайшим граничным значениям — так, например, 350 будет интерпретироваться
как 255).
В сущности, это не что иное, как воплощение классической 24-битовой
модели RGB, в которой на каждый из трех цветовых каналов отводится по 8 бит:
28 = 256 — количество возможных градаций каждой из составляющих,
(28)3 = 224 = 16 777 216 — общее количество возможных оттенков.
Описываемый тип значений наиболее универсален, однако в CSS
предусмотрен сокращенный эквивалент — запись в шестнадцатеричной форме:
#rrggbb
Здесь rr, gg и ьь — двузначные шестнадцатеричные числа в диапазоне от 00
до FF (шестнадцатеричные цифры А—F можно записывать и в нижнем
регистре, т. е. при помощи строчных букв). Так, например, значение rgb(0, 153,
204) из листинга 3.5 эквивалентно такому: #0099сс. Скажу больше— если
каждое из трех шестнадцатеричных чисел образовано парой повторяющихся
цифр, как в этом примере, то допускается еще более краткая форма записи:
#rgb
Значение #0099сс, например, можно записать как #09с.
Шестнадцатеричная форма записи значений цвета является наиболее
предпочтительной — при помощи нее можно представить любой из тех самых
16 777 216 цветов, и вместе с тем она обладает великолепной лаконичностью.
136
Часть I. Технологические основы
Конечно, людям, в меру далеким от программирования, придется изрядно
потренироваться, чтобы научиться «сходу» представлять нужный цвет сразу в
шестнадцатеричной записи — однако, поверьте, не такое уж это и мудреное
искусство. Если совсем никак не получается— штатный «Калькулятор» из
комплекта поставки Windows вполне справится с преобразованием
десятичного числа в шестнадцатеричную форму. Если же у вас установлен
Photoshop 7.0 или CS, то выбор подходящего цвета и его представление в
шестнадцатеричной форме вообще не доставит забот: диалог Color Picker
предоставит всю необходимую информацию. Но лениться не следует —
всякий уважающий себя дизайнер или кодер, на мой скромный взгляд, должен
уметь в голове синтезировать необходимый цвет в любых самых что ни на
есть «походных» условиях.
( Примечание )
Уважающий себя дизайнер, кроме всего прочего, должен ориентироваться в
физике цвета и особенностях устройства человеческого глаза; разбираться в
том, что такое спектральные и неспектральные цвета, а также относительная
спектральная чувствительность глаза; представлять себе, зачем нужны главное
цветовое пространство и локус цветов; ясно понимать сущность, ограничения,
особенности и взаимосвязь основных аппаратно-независимых и аппаратно-
зависимых цветовых моделей. Ну и, конечно, чувствовать психологию
восприятия цвета, уметь грамотно подбирать и сочетать цвета.
Веб-дизайнер (работающий только с экранным изображением, но не сующий
носа в полиграфию, где море своих нюансов) должен, по меньшей мере, «на
автомате» мыслить в терминах модели HSB (hue — тон, saturation —
насыщенность, brightness — яркость) и понимать… нет, не так — чувствовать! —
взаимозависимость моделей HSB и RGB, легко и непринужденно «переключаясь»
между ними.
Все эти и многие другие наиважнейшие темы лежат за пределами данной
книги, иначе бы я никогда не закончил ее. Это краткое примечание, однако,
написано отнюдь не с целью бравады хитроумными терминами, как могут подумать
иные читатели. Забираясь, время от времени, в «дебри», я стараюсь расширить
ваш кругозор и построить маяки, которые бы указывали, в каком направлении
двигаться дальше.
Для полноты картины рассмотрим еще два способа задания цвета с помощью
CSS. Один из них напоминает упомянутую выше форму rgb(r, g, b), с той
лишь разницей, что градации каждой из трех составляющих задаются не в
абсолютных величинах от 0 до 255, а в процентах, от 0 до 100%:
rgb(r%, g%, b%)
Так, наш любимый цвет rgb(0, 153, 204), он же #0099сс, он же #09с, в записи
с процентами будет представлен как rgb(0%, 60%, 80%).
5th Фев 2011
|
Теги:
|