Студопедия — Цветовое разрешение. Представление цвета в системах программирования для 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; просмотров: 794. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

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

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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

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

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

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

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