Cтраница 2
До сих пор мы не рассматривали - канал ( в RGBA-представлении цвета) и значение соответствующей компоненты во всех примерах всегда равнялось единице, Задавая значения, отличные от единицы, можно смешивать цвет выводимого пиксела с цветом пиксела, уже находящегося в соответствующем месте на экране, создат вая тем самым эффект прозрачности. [16]
При восьми битах число доступных цветов равно 256 ( два в восьмой степени), 16 бит даюу 65536 цветов - этот режим называется High Color, а режим True Color ( 16777216 цветов) достигается при использовании 24 битов для кодирования цвета пиксела. [17]
Состав цветовых палитр RGB зависит от выбранного цветового разрешения - 24, 16 или 8 бит. В последнем случае цветовая палитра называется индексной, потому что каждый цветовой оттенок кодируется одним числом, которое выражает не цвет пиксела, а индекс ( номер) цвета. Таким образом, к файлу цветного изображения, созданного в индексной палитре, должна быть приложена сама палитра, так как программе обработки компьютерной графики неизвестно, какая именно палитра была использована. [18]
Графический экран состоит из массива пикселов. Каждый пиксел отображает одну цветную точку на экране. Значение цвета пиксела не определяет его цвет явно. Оно задает только индекс в таблице цветов, которая называется палитрой. Количество цветов, которые могут одновременно отображаться на экране, равно размеру палитры. [19]
Если известно, что точка принадлежит внутренней части области, то ее можно использовать в качестве своего рода затравочного пиксела, окрашивая в ее цвет смежные пикселы до тех пор, пока не встретится контур. Если для этого алгоритма воспользоваться рекурсивным описанием, то выглядит оно достаточно просто. Пусть с цвет затравочного пиксела 5 и F - заполняемая область, степень заполнения которой соответствует шагу алгоритма. На первом шаге задается F S, затем на каждом шаге к области F добавляются все те пикселы, которые окрашены в цвет с и имеют непосредственного соседа в F. Таким образом, заполнение контура осуществляется на основе связности. Для обозначения этого процесса используют и название алгоритм засеивания. Допущение, что имеется такой затравочный пиксел, при работе на интерактивных графических системах является вполне реалистичным, поскольку в этом случае пользователь может указать этот пиксел, воспользовавшись световым пером или введя световой указатель внутрь контура. То же относится и к системам, в которых трехмерный объект задается вершинами аппроксимирующего его многогранника и на экране отображаются различные проекции этого объекта. При этом нетрудно определить точки, расположенные внутри получающихся в результате такого отображения многоугольников. [20]
Рассмотрим случайную точку, равномерно распределенную в области пиксела, и оттрассируем луч, проходящий через эту точку. Тогда освещенность, приносимая таким лучом, является случайной величиной и ее математическое ожидание - соответствующим интегралом. Поэтому для вычисления цвета пиксела достаточно оттрассиро-вать несколько равномерно распределенных случайных лучей и взять среднее значение. [21]
Чтобы избежать необходимости управлять такими большими областями памяти, во многих системах имеется возможность использовать меньшее цветовое разрешение. В простейшей схеме каждый пиксел представляется 8-разрядным числом. Оно обычно не содержит самого цвета пиксела, а является индексом в таблице цветов, состоящей из 256 24-разрядных элементов формата RGB. Эта таблица, называемая цветовой палитрой и позволяющая экрану содержать в любой момент 256 произвольных цветов, часто реализуется аппаратно. Использование 8-разрядной цветовой палитры позволяет в три раза сократить размер, требуемый для хранения изображения, за счет более грубого цветового разрешения. [22]
Координаты х и у указывают левый нижний угол псевдопиксела, который был определен программой setrsl. Пиксел покрывает пространство правее и выше позиции, определенной х и у. Си - указатели на них) - красная, зеленая и синяя составляющие цвета пиксела. [23]
![]() |
Три зебры и дерево ( а. три зебры, дерево и полный текст пяти пьес Шекспира ( 6. [24] |
Как работает этот тайный канал. Оригинальное изображение состоит из 1024х 768 пикселов. Каждый пиксел состоит из трех 8-разрядных чисел, по одному для интенсивности красного, зеленого и синего цветов пиксела. Цвет пиксела представляет собой линейную суперпозицию трех цветов. Для кодирования скрытого канала используются младшие разряды каждого значения цвета в формате RGB. Таким образом, в каждом пикселе помещается три бита секретной информации. В изображении данного размера может поместиться 1024x768x3 бит или 294 912 байт секретной информации. [25]
![]() |
Три зебры и дерево ( а. три зебры, дерево и полный текст пяти пьес Шекспира ( 6. [26] |
Как работает этот тайный канал. Оригинальное изображение состоит из 1024х 768 пикселов. Каждый пиксел состоит из трех 8-разрядных чисел, по одному для интенсивности красного, зеленого и синего цветов пиксела. Цвет пиксела представляет собой линейную суперпозицию трех цветов. Для кодирования скрытого канала используются младшие разряды каждого значения цвета в формате RGB. Таким образом, в каждом пикселе помещается три бита секретной информации. В изображении данного размера может поместиться 1024x768x3 бит или 294 912 байт секретной информации. [27]
Цвет пиксела в нижнем левом углу изображения определяет цвет, который будет использоваться в качестве прозрачного. Вы должны помнить об этом при создании собственных значков. Если вы не используете прозрачность, то цвет пиксела из нижнего левого угла не должен повторяться где-либо еще на изображении. [28]
После выполнения шага 4 необходимо установить, какие сегменты затеняют другие сегменты ( эта процедура была рассмотрена в подразд. Описанный там подход можно использовать непосредственно и получать в результате некоторый список видимых сегментов. В алгоритме 17.2 применен иной способ. Заводятся два массива COLOR ( ЦВЕТ) и DEPTH ( ГЛУБИНА), элементы которых соответствуют пикселам, расположенным вдоль строки развертки. В массиве COLOR хранится цвет определенного пиксела, а в массиве DEPTH - значение координаты z сегмента, расположенного ближе всех остальных по отношению к наблюдателю. [29]