Студопедия — Цветовое разрешение. Представление цвета в системах программирования для Windows.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Цветовое разрешение. Представление цвета в системах программирования для Windows.






В графических режимах видеосистемы ПЭВМ для кодирования цвета каждого пиксела отводится некоторое количество двоичных разрядов. Это число разрядов называют глубиной цвета. При глубине цвета, равной N можно одновременно отобразить 2N цветов. В режиме HighColor глубина цвета составляет 15 или 16 бит, количество цветов – 32768 или 65536, В режиме TrueColor глубина цвета составляет 24 бита, количество цветов – 16 777 216. Такого количества цветов более чем достаточно практически для подавлящего большинства прикладных задач, поскольку оно существенно превосходит число цветов, различаемое среднестатистическим наблюдателем. (Следует заметить, что в некоторых профессиональных системах цветоделения на отдельных этапах используются 36, 48 и даже 64 разрядные цвета [Корриган]). Цвета представляются в модели RGB. В режиме TrueColor под каждый из основных цветов отводится по 8 бит. В режиме HighColor под каждый из основных цветов отводится либо по 5 бит (1 бит не используется), либо по 5 бит на красный и синий и 6 бит на зеленый.

В MS Visual C/C++ для цвета используется тип COLORREF, который на самом деле определен как DWORD (typedef DWORD COLORREF) или, что то же самое unsigned long. Под переменную типа COLORREF отводится 32 бита и RGB цвет представляется следующим образом: xxbbggrr, где rr,gg и bb – байт компонент красного, синего и зеленого цвета соответственно. Байт xx не используется. Для конструирования цвета в модели RGB по значениям компонент основных цветов можно использовать макрос RGB(r,g,b), который определен следующим образом:

#define RGB(r,g,b)

((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16))).

Пример конструирования цвета:

BYTE green = 128;

BYTE red = 255;

BYTE blue = 50;

COLORREF myColor = RGB(red,green,blue);

Цвета CMYK представляются тоже с помощью COLORREF в следующем виде: ccmmyykk. Для конструирования цвета CMYK и получения его компонент предусмотрены макросы, аналогичные приведенным выше.

 

Некоторые графические библиотеки, например, OpenGL позволяют задавать степень прозрачности (transparency) поверхностей. В этом случае цвет задается не тройкой, а четверкой координат (RGB), где  (альфа-канал) – число (обычно в диапазоне от 0 до 1) определяющее степень видимости поверхностей, находящихся за данной. В OpenGL значению 1 соответствует полная непрозрачность, а значению 0 –полная прозрачность (невидимость) поверхности (в других системах может быть по-другому). Для хранения дискретизированного значения обычно используется свободный байт в 32-битном представлении 24-разрядного RGB цвета, например, bbggrr. Расчет итогового RGB-изображения с учетом значения каждого пиксела называется альфа-смешением (alpha blending) и выполняется либо программно средствами графической библиотеки, либо аппаратно средствами графического ускорителя. Существуют различные формулы для расчета альфа-смешения. Некоторые из них приведены в [Попов].

Альфа-смешение позволяет повысить реалистичность создаваемых изображений, используется при наложении текстур, устранении лестничного эффекта, создании эффектов тумана, полупрозрачности, отражения и т.д.
21. Цветовые координаты HSV и HLS.

Описывать субъективное восприятие цвета в рамках аппаратно-ориентированных моделей RGB и CMY не всегда удобно. Цвет часто характеризуется в терминах насыщенности (Saturation), цветового тона (Hue), яркость (Brightness). Тон отвечает за то, что объект кажется окрашенным в чистый (спектральный) цвет или комбинацию двух спектральных цветов. Для ахроматического цвета тон не определен. Насыщенность (разбел) определяет количество белового цвета, примешенного к наблюдаемому хроматическому цвету. Хроматические цвета имеют максимальную насыщенность. Насыщенность серого цвета равна 0. Уменьшению яркости, с точки зрения художника, соответствует добавление к цвету черной краски.

HSV (Hue, Saturation, Value - цветовой тон, насыщенность, количество света или светлота) - модель, ориентированная на человека и обеспечивающая возможность явного задания требуемого оттенка цвета (см. Рис.). Множество допустимых цветов представляет собой перевернутую шестигранную пирамиду, основание которой представляет собой плоское сечение куба RGB, проведенное через серединные перпендикуляры к черно-белой диагонали. По вертикальной оси задается V - светлота, меняющаяся от 0 до 1. Значению V = 0 соответствует вершина пирамиды, значению V = 1 - основание; цвета при этом наиболее интенсивны. Цветовой тон H задается углом, отсчитываемым вокруг вертикальной оси. В частности, 0 - красный, 60 - желтый, 120 - зеленый, 180 - голубой, 240 - синий, 300 - пурпурный, то есть дополнительные цвета расположены друг против друга (отличаются на 180). Насыщенность S определяет насколько близок цвет к "чистому" пигменту и меняется от 0 на вертикальной оси V до 1 на боковых гранях шестигранной пирамиды. Точка V = 0, в которой находится вершина пирамиды, соответствует черному цвету. Значение S при этом может быть любым в диапазоне 0-1. Точка с координатами V = 1, S = 0 - центр основания пирамиды - соответствует белому цвету. Промежуточные значения координаты V при S=0, то есть на оси пирамиды, соответствуют серым цветам. Если S = 0, то значение оттенка H считается неопределенным.








Дата добавления: 2015-10-12; просмотров: 789. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия