В программах компьютерной графики палитра используется для

Обновлено: 02.07.2024

Цветовая схема панели управления конечного пользователя обычно включает 16 стандартных цветов VGA: черный, белый, серый, светло-серый, красный, зеленый, синий, желтый, голубой, пурпурный, темно-красный, темно-зеленый, темно-синий. , темно-желтый, темно-голубой и темно-пурпурный, а также четыре специальных цвета для фона кнопок и трехмерных краев и так далее. Связанные имена относятся к константам, значениями которых являются именованные цвета.

По умолчанию при вызове функциональной палитры в окне стандартной графики возвращается символ :RGB, указывающий на то, что окну не присвоена пользовательская палитра. Чтобы рисовать цветом в окне, у которого нет пользовательской палитры, вы просто устанавливаете цвет переднего плана или фоновый цвет как объект цвета RGB (как созданный make-rgb, названный константами, такими как синий и красный), а затем вызываете различные функции рисования.

Но если Windows не находится в режиме истинного цвета (то есть менее 24-битного цвета) и запрошенный цвет RGB не является одним из 20 системных цветов (либо цветом VGA, либо одним из четырех других цветов в текущая цветовая схема панели управления), то этот фактический цвет не будет использоваться. Вместо этого для операции рисования линии будет заменен один из 20 системных цветов, ближайший к запрошенному цвету; а для операции заполнения пространства каждый отрисовываемый пиксель будет одним из двух системных цветов в такой пропорции, чтобы аппроксимировать запрошенный цвет (этот метод аппроксимации называется дизерингом и выглядит не так красиво, как каждый пиксель, являющийся фактическим). требуемый цвет).

Альтернативой вышеизложенному является определение и использование пользовательской цветовой палитры. Основная процедура настройки пользовательской палитры заключается в

  1. Создайте вектор цветовых объектов RGB.
  2. Создайте палитру, вызвав open-palette для этого вектора RGB.
  3. Назначьте дескриптор палитры, возвращенный open-palette, окну, вызвав setf из палитры.

Чтобы затем рисовать в окне,

  1. установите текущий цвет переднего плана и/или цвет фона окна как индекс желаемого цвета в цветовом векторе, который вы определили ранее.
  2. Вызов функций рисования в окне.

Если в нескольких окнах (в том числе в других приложениях) используются палитры, а Windows работает в 256-цветном режиме, то любое окно, использующее палитру, как правило, не будет отображать правильные цвета, за исключением случаев, когда это самое последнее окно. выбранное окно, использующее палитру, поскольку объединенные палитры обычно содержат больше цветов, чем может отобразить вся система.

Набор цветов, отображаемых в настоящее время для всей системы, иногда называют системной палитрой. Common Graphics знает, что полная палитра окна должна быть включена в системную палитру всякий раз, когда она выбрана.

Когда Windows работает в 256-цветном режиме, рекомендуется, чтобы палитра содержала несколько меньше 256 цветов, чтобы при выборе окна основные цвета, используемые в других окнах, по-прежнему имели место в системной палитре и поэтому другие окна не будут переключаться на нечетные цвета, заимствованные из вашей пользовательской палитры. Палитра из 236 цветов или меньше оставит место для 20 цветов пользователя из цветовой схемы панели управления.

Особым случаем является 16-битный цветовой режим, когда ОС использует палитру по умолчанию с миллионами цветов, которые приблизительно соответствуют истинным цветам. В этом режиме произвольные цвета RGB могут использоваться для цветов переднего плана и фона окон Common Graphics без использования пользовательских палитр, но фактически используемые цвета будут по-прежнему только приблизительными (хотя и гораздо лучшим приближением, чем сглаживание). Пользовательская палитра может потребоваться даже в этом режиме для лучшей точности цветопередачи.

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

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

Содержание

Цветовые палитры

Ниже приведены некоторые из широко используемых значений цветовой палитры в вычислительной технике:

Графические палитры



Системы с графическим интерфейсом пользователя (GUI) используют экранные палитры, в том числе:

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

Связанные термины и технологии

Термины цветовая палитра, индексированный цвет и связанные с ними термины используются с различными значениями, как описано ниже.

Цветовая модель RGB сегодня является наиболее распространенным методом создания и кодирования цветов. но цвета в палитрах могут воспроизводиться или не воспроизводиться через основные цвета красный-зеленый-синий, в зависимости от данного аппаратного обеспечения дисплея. Чтобы показать, что данное использование палитры основано на цветовой модели RGB, обычно используется термин палитра RGB во многих контекстах, в которых может использоваться термин палитра. (см. предыдущий раздел). Цветовая модель RGB обычно используется по умолчанию для палитр, если не указано иное.

Индексированный цвет – это метод ограниченного управления цветами изображения с целью экономии места в ОЗУ и буфере видеопамяти, места для хранения файлов, полосы пропускания телекоммуникационных сетей, а также для ускорения обновления экрана и передачи телекоммуникационных данных. Вместо того, чтобы хранить и управлять каждым компонентом основного цвета каждого пикселя, наиболее репрезентативные цвета или фиксированные аппаратные цвета группируются в палитру ограниченного размера: массив цветовых элементов, в котором каждый элемент ( цвет) индексируется по его положению. Таким образом, пиксели содержат не полноцветные компоненты, а только их индекс в палитре; это иногда называют псевдоцветом.

Этот метод экономит много памяти/пространства для хранения и/или времени передачи: если полная цветовая палитра RGB является истинным цветом, существует 16 777 216 различных возможных цветов, и каждому пикселю требуется 24 бита или 3 байта. Типичное несжатое изображение с разрешением VGA 640 × 480 и полноцветным изображением требует 640 × 480 × 3 = 921 600 байт (900 КиБ). При ограничении количества цветов изображения до 256 каждому пикселю требуется только 8 бит, 1 байт, поэтому для примера изображения теперь требуется только 640 × 480 × 1 = 307 200 байт (300 КиБ), плюс 256 × 3 = 768 дополнительных байтов для хранения карты палитры. (при условии 24-битного RGB), примерно треть исходного размера. Меньшие палитры (4-битные 16 цветов, 2-битные 4 цвета) могут еще больше упаковать пиксели (до 1/6 или 1/12), очевидно, за счет точности цветопередачи. В то время как это приемлемо для небольших изображений (значков) или очень простой графики, для воспроизведения реальных изображений эта потеря доступности цвета становится более серьезной проблемой. Некоторые хитрые приемы, такие как квантование цвета, сглаживание и дизеринг, объединенные вместе, могут приблизить индексированные 256-цветные изображения к исходному.

Запись палитры — это один из цветовых элементов в цветовой палитре (аппаратной или в файле).

Индексированные цвета широко использовались в первых персональных компьютерах и видеоадаптерах для снижения затрат. Известные системы компьютерной графики, широко (или даже исключительно) использующие псевдоцветовые палитры, включают EGA и VGA (для совместимых с IBM PC), Atari ST и Amiga OCS и AGA.

Точно так же в тот же период (около 1980-х годов) возникли форматы файлов изображений, используемые для инкапсуляции таких изображений, такие как PCX и GIF, которые вместе с заголовком и необработанными данными изображения также хранят карты цветов палитры. ). Некоторые из более современных форматов файлов изображений, такие как BMP, TIFF и PNG, также допускают индексированные цветовые режимы, обычно до 16 или 256 (четыре или восемь бит на пиксель). Все эти форматы файлов обычно поддерживают некоторую схему сжатия, что расширяет их возможности для хранения индексированных цветных изображений в файлах меньшего размера.

Таблица поиска цветов (CLUT) — это аппаратный ресурс подсистемы дисплея, который можно использовать для различных целей. Один из них заключается в том, чтобы содержать значения цвета для данной палитры в некотором графическом режиме с индексированными цветами (скажем, 320×200 с 256 цветами, часто используемом для компьютерных видеоигр). Сегодня CLUT используются в основном для аппаратной калибровки гаммы и цветовой температуры. Хотя термин справочная таблица цветов был придуман в области дизайна оборудования для дисплеев (поскольку машины всегда на первом месте), он был перенесен в программный жаргон как почти синоним палитра тоже; но в этих случаях это может означать не только цветовую карту индексированного цветного изображения, но и любую промежуточную справочную таблицу, которая отображает один цвет в другой, независимо от индексированного или используется истинный цвет. [ 1 ] Во избежание путаницы термин CLUT предпочтительнее для аппаратных регистров цвета и палитра для программных цветовых карт, когда оба используются в одной и той же статье. [ 2 ]

Изображения в оттенках серого обычно не требуют палитр.Значения пикселей могут быть непосредственно уровнем серого в заданном диапазоне (от 0 до 15, от 0 до 255), поэтому файлы изображений, которые имеют дело с изображениями в градациях серого, обычно не хранят карту цветов палитры для этой цели. Но при отображении с помощью цветных устройств обычно необходимо синтезировать карту цветов в оттенках серого для правильного управления изображением (либо путем загрузки аппаратных регистров цвета/CLUT, либо путем преобразования изображения в RGB в видеопамяти RGB). Некоторые форматы файлов изображений, такие как формат файлов BMP, реализуют оттенки серого, сохраняя палитру оттенков серого, созданную с полными значениями RGB.

Глубина цвета показывает, сколько битов используется для хранения информации о цвете в пикселях изображения: чем больше управляемых цветов, тем больше битов используется. Битовые шаблоны пикселя можно интерпретировать как целые целые числа (что имеет место для индексов индексированных цветных изображений) или путем назначения некоторых битов для управления, связанного с цветом, как относительную интенсивность для каждого основного красного-зеленого-синего цвета в изображениях истинного цвета RGB. Размеры индексированных цветовых палитр часто имеют до 2, увеличенных до некоторых значений мощности, которые легко соответствуют шаблонам битов глубины пикселя: 2 2 = 4 , 2 4 = 16 или 2 8 = 256 являются наиболее распространенными вариантами. Highcolor использует полные палитры RGB с глубиной 15 и 16 бит, в то время как truecolor использует полные палитры RGB с глубиной 24 бита или выше.

Адаптивная и основная палитры

При использовании методов индексированного цвета реальные изображения представляются с большей точностью по сравнению с исходным изображением в истинном цвете с помощью адаптивных палитр (иногда называемых адаптивными палитрами), в которых цвета выбираются или квантуются с помощью некоторых алгоритм непосредственно из исходного изображения (выбирая наиболее часто встречающиеся цвета). Таким образом, а также при дальнейшем сглаживании индексированное цветное изображение может почти совпадать с оригиналом.

< /td>

Приложение, в свою очередь, может отображать на экране множество различных эскизов изображений в виде мозаики. Очевидно, что программа не может одновременно загрузить в аппаратные регистры цвета все адаптивные палитры каждой отображаемой миниатюры изображения. Решением является использование уникальной общей основной палитры или универсальной палитры, которые можно использовать для отображения любого изображения с достаточной точностью.

Это достигается путем выбора цветов таким образом, чтобы основная палитра содержала полное цветовое пространство RGB «в миниатюре», ограничивая возможные уровни красного, зеленого и синего компонентов. Такое расположение иногда называют однородной палитрой. [ 3 ] Нормальный человеческий глаз имеет чувствительность к трем основным цветам в разной степени: чем больше к зеленому, тем меньше к синему. Таким образом, схемы RGB могут использовать это преимущество, назначая больше уровней для зеленого компонента и меньше для синего.

Основная палитра, построенная таким образом, может быть заполнена до 8R×8G×4B = 256 цветов, но это не оставляет места в палитре для зарезервированных цветов, цветовых индексов, которые программа могла бы использовать для специальных целей. В более общем случае можно использовать только 6R×6G×6B = 216 (как в случае с веб-цветами), 6R×8G×5B = 240 или 6R×7G×6B = 252 , что оставляет место для некоторых зарезервированных цветов.

Затем при загрузке мозаики миниатюр изображений (или других разнородных изображений) программа просто сопоставляет каждый исходный индексированный цветной пиксель с его наиболее приближенным значением в основной палитре (после сброса в аппаратные регистры цвета) и записывает результат в видеобуфере. Вот пример простой мозаики из четырех миниатюр изображений с использованием основной палитры из 240 цветов RGB плюс 16 дополнительных промежуточных оттенков серого; все изображения собраны без существенной потери точности цветопередачи:

< /таблица>

Прозрачный цвет в палитрах

Одну запись палитры в индексированном цветном изображении можно обозначить как прозрачный цвет, чтобы выполнить простое наложение видео: наложение данного изображения на фон таким образом, что некоторая часть перекрывающееся изображение скрывает фон, а остальные нет. Наложение титров и титров фильмов/телепередач – типичное применение наложения видео.

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

ПРИМЕЧАНИЕ: это всего лишь пример. Нельзя предполагать фактическое использование в данной операционной системе.

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

Некоторые ранние компьютеры, такие как Commodore 64, MSX и Amiga, аппаратно поддерживают спрайты и/или наложение полноэкранного видео. В этих случаях номер записи прозрачной палитры определяется аппаратно, и раньше это был номер 0.

Некоторые форматы файлов индексированных цветных изображений, такие как GIF и PNG, изначально поддерживают обозначение данной записи палитры как прозрачной, которую можно свободно выбирать среди любых записей палитры, используемых для данного изображения.
Формат файла BMP резервирует место для значений альфа-канала в своей таблице цветов [ 4 ], однако в настоящее время это пространство не используется для хранения каких-либо данных о полупрозрачности и установлено на ноль.

При работе с полноцветными изображениями некоторое оборудование для микширования видео может использовать триплет RGB (0,0,0) (без красного, зеленого и синего: самый темный оттенок черного, иногда называемый суперчерным в этом контексте) как прозрачный цвет. Во время разработки его заменяет так называемый волшебный розовый. Точно так же типичное программное обеспечение для настольных издательских систем может предполагать, что чистый белый цвет, триплет RGB (255 255 255) из фотографий и иллюстраций должен быть исключен, чтобы текстовые абзацы вторгались в ограничивающую рамку изображения для неправильного расположения текста вокруг темы изображения.

Программы двухмерного рисования, такие как Microsoft Paint и Deluxe Paint, могут использовать назначенный пользователем фоновый цвет в качестве прозрачного цвета при выполнении операций вырезания, копирования и вставки.

Хотя битовые маски изображения и альфа-каналы связаны между собой (поскольку они используются для одних и тех же целей), они представляют собой методы, которые вообще не предполагают использования палитр или прозрачного цвета, а добавляют дополнительные слои двоичных данных вне изображения.

Системная и логическая палитры в Microsoft Windows

системная палитра — это копия аппаратных регистров цветного дисплея в ОЗУ, в первую очередь физическая палитра, и это уникальный общий ресурс системы. При загрузке загружается системная палитра по умолчанию (в основном это основная палитра, которая достаточно хорошо работает с большинством программ).

Когда данное приложение намеревается выводить раскрашенную графику и/или изображения, оно может установить свою собственную логическую палитру, то есть свой собственный набор цветов (до 256). Предполагается, что каждый графический элемент, который приложение пытается отобразить на экране, использует цвета своей логической палитры. Каждая программа может свободно управлять одной или несколькими логическими палитрами без дальнейшего ожидаемого вмешательства (заранее).

Прежде чем будет выполнен вывод, программа должна реализовать свою логическую палитру: система пытается затем сопоставить логические цвета с физическими те. Если предполагаемый цвет уже присутствует в системной палитре, система внутренне сопоставляет индексы как логической, так и системной палитры (поскольку они редко совпадают). Если желаемого цвета еще нет, система применяет внутренний алгоритм для отбрасывания наименее используемого цвета в системной палитре (как правило, некоторые из них используются другим фоновым окном) и заменяет его новым цветом. Из-за ограниченного места для цветов в системной палитре алгоритм также пытается переназначить похожие цвета вместе, всегда избегая избыточных цветов.

Конечный результат зависит от того, сколько приложений работает с цветами на экране. Окно на переднем плане всегда предпочтительнее, поэтому окна на заднем плане могут вести себя по-разному: от повреждения до быстрой перерисовки. Когда системная палитра изменяется, система инициирует определенное событие, чтобы информировать каждое приложение. При получении окно может быстро перерисовать себя с помощью одной функции Win32 API. Но это нужно делать явно в коде программы; отсюда тот факт, что многие программы не умеют управлять этим событием, и их окна в этой ситуации портятся.

Приложение может заставить системную палитру загружаться с определенными цветами и даже в определенном порядке, обманывая систему, сообщая, что это элементы цвета, предназначенные для анимации ( быстрое изменение цвета цветов в физической палитре при определенных записях).Тогда система не может предположить, что каждая запись аппаратной палитры свободна для управления цветом своей палитры, и эти записи исключены из ее алгоритма. Конечный результат зависит от навыков программы форсирования цвета и поведения других программ (последних точно так же, как в обычном случае), а также от самой операционной системы.

Раздел 404 Закона Сарбейнса-Оксли (SOX) требует, чтобы все публичные компании установили внутренний контроль и процедуры.

Закон о защите конфиденциальности детей в Интернете от 1998 года (COPPA) – это федеральный закон, который налагает особые требования на операторов доменов .

План North American Electric Reliability Corporation по защите критически важной инфраструктуры (NERC CIP) представляет собой набор стандартов.

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

Экранированная подсеть или брандмауэр с тройным подключением относится к сетевой архитектуре, в которой один брандмауэр используется с тремя сетями .

Метаморфное и полиморфное вредоносное ПО – это два типа вредоносных программ (вредоносных программ), код которых может изменяться по мере их распространения.

Медицинская транскрипция (МТ) – это ручная обработка голосовых сообщений, продиктованных врачами и другими медицинскими работниками.

Электронное отделение интенсивной терапии (eICU) — это форма или модель телемедицины, в которой используются самые современные технологии.

Защищенная медицинская информация (PHI), также называемая личной медицинской информацией, представляет собой демографическую информацию, медицинскую .

Снижение рисков – это стратегия подготовки к угрозам, с которыми сталкивается бизнес, и уменьшения их последствий.

Отказоустойчивая технология — это способность компьютерной системы, электронной системы или сети обеспечивать бесперебойное обслуживание.

Синхронная репликация — это процесс копирования данных по сети хранения, локальной или глобальной сети, поэтому .

API облачного хранилища — это интерфейс прикладного программирования, который соединяет локальное приложение с облачным хранилищем.

Интерфейс управления облачными данными (CDMI) – это международный стандарт, определяющий функциональный интерфейс, используемый приложениями.

Износ флэш-памяти NAND — это пробой оксидного слоя внутри транзисторов с плавающим затвором флэш-памяти NAND.

Фантастическая иллюстрация компьютера Художник, использующий палитру для цифровых цветовых палитр

Маловероятный компьютерный художник

Слово «палитра» (или «поддон») имеет несколько значений: оно может относиться к лотку, используемому для транспортировки предметов, или к доске, используемой художниками для смешивания цветов (как показано на фэнтезийной иллюстрации выше, которую я подготовлен много лет назад для доклада о компьютерной графике). В этой статье я расскажу о принципах цифровых цветовых палитр. Если вы работаете с цифровыми графическими файлами, вы, вероятно, рано или поздно столкнетесь с «палитрами». Несмотря на то, что использование палитр в настоящее время менее необходимо и менее распространено в графике, чем несколько лет назад, все же полезно понимать их, а также плюсы и минусы их использования.

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

Я обсуждал разницу между растровым и векторным представлениями в предыдущем посте [Два типа компьютерной графики]. Хотя цифровые цветовые палитры чаще ассоциируются с растровыми изображениями, их можно использовать и в векторных изображениях.

Основная концепция

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

В книге "Обман света" я объяснил, как цвета, которые вы видите на экране цифрового устройства, например компьютера или телефона, состоят из отдельных красных, зеленых и синих компонентов. Пиксели, составляющие изображение, которое вы видите на экране, хранятся в растровой матрице где-то в памяти устройства.

В большинстве современных растровых графических систем каждый из красных, зеленых и синих компонентов каждого пикселя (который по понятным причинам я также буду называть здесь «тройкой RGB») представляется с использованием 8 бит. Это позволяет каждому пикселю представлять одно из 2 24 = 16 777 216 возможных значений цвета. Опыт показал, что этот диапазон значений в большинстве случаев достаточен, чтобы позволить изображениям отображать явно непрерывный цветовой спектр, что важно в сценах, требующих плавного затенения (например, в сценах с небом). . Компьютеры, как правило, устроены так, чтобы обрабатывать данные, кратные байтам (8 битам), поэтому опять же это определение тройки RGB удобно.(Около двадцати лет назад, когда объем памяти был намного меньше, использовались различные меньшие типы тройки RGB, такие как формат «5-6-5», где красный и синий компоненты использовали 5 бит, а зеленый компонент — 6 бит. Это позволило хранить каждую тройку RGB в 16-битном слове вместо 24-битного. Однако теперь такие компромиссы больше не имеют смысла.)

Однако существует множество растровых изображений, для которых не требуется полная гамма из 16 777 216 доступных цветов. Например, для монохромного изображения (оттенки серого) требуются только оттенки серого, а обычно 256 оттенков серого достаточно для создания иллюзии непрерывной градации цвета. Таким образом, для хранения изображения в градациях серого каждому пикселю требуется всего 8 бит (поскольку 2 8 = 256) вместо 24. Хранение изображения с 8 битами на пиксель (вместо 24 бит) уменьшает размер файла на две трети, что стоит уменьшить размер.

Даже для полноцветных изображений может не потребоваться полная гамма из 16 777 216 цветов, так как в них ярко выражены преобладающие цвета. В этих случаях полезно составить список только цветов, которые фактически используются в изображении, рассматривать этот список как индекс, а затем сохранять изображение, используя значения индекса вместо фактических значений RGB. тройки.

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

Подчеркнем, независимо от того, реализовано ли оно аппаратно или программно, изображение, использующее палитру, не сохраняет значение цвета каждого пикселя в виде реальной тройки RGB. Вместо этого каждое значение цвета сохраняется как индекс для одной записи в палитре. Сама палитра хранит тройки RGB. Вы указываете пиксели изображения с палитрой*, создавая матрицу значений index, а не матрицу реальных троек RGB. Поскольку каждое значение индекса значительно меньше одной тройки, размер результирующего растрового изображения намного меньше, чем если бы каждая тройка RGB сохранялась.

В таблице ниже показаны значения индекса и цвета для реальной (хотя и устаревшей) цветовой палитры; стандартная палитра для IBM CGA (Color Graphics Adapter), которая была первой цветной графической картой для IBM PC. В этой палитре указано только 16 цветов, поэтому целесообразно указать здесь всю палитру.

Значения цветовой палитры CGA

Таблица цветовой палитры CGA

(* Для действия, связанного с цифровыми изображениями, это правильное написание. Если вы говорите о размещении предметов на транспортном поддоне, то правильное написание — «уложить на поддон».)

Эстетические палитры*

В данном контексте палитра — это набор определенных цветов, которые может использовать художник, создающий цифровое изображение. Обычная причина выбора цветов из палитры, а не просто выбор любого из миллионов доступных цветов, заключается в достижении определенного «внешнего вида» или в соответствии с цветовой схемой бренда. Таким образом, палитра имеет эстетическое значение, но нет технического требования к ее существованию. Использование эстетических палитр всегда необязательно.

(* Как я объяснял в разделе «Лигатуры на английском языке», заголовок этого раздела можно было бы написать «Эстетические палитры», но лично я предпочитаю используемое здесь написание, и оно приемлемо в американском английском.)

Технические палитры

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

Отображение изображения с палитрой

На изображении ниже показано, как растровое изображение с палитрой отображается на экране. Экраном может быть любой цифровой растровый дисплей, например компьютер, планшет или смартфон.

Схема отображения изображений на поддонах для Цифровые цветовые палитры

Система отображения на основе палитры

Система работает следующим образом (номера шагов ниже соответствуют номерам выноски на изображении):

  1. Поскольку растровое изображение в памяти сканируется последовательно, каждое значение индекса в растровом изображении используется для «поиска» соответствующей записи в палитре.
  2. Каждое значение индекса действует как поиск тройного значения RGB в палитре. Правильное тройное значение RGB для каждого пикселя передается драйверам дисплея.
  3. Драйверы дисплея (которые могут быть цифро-аналоговыми преобразователями или какой-либо другой схемой, в зависимости от технологии экрана) создают красный, зеленый и синий сигналы для подсветки пикселей экрана устройства.
  4. На экране устройства отображается полноцветное изображение, воссозданное из индексного растрового изображения и палитры.

Палитра оборудования

На заре компьютерной графики память стоила дорого, а емкость была небольшой. Было экономически целесообразно максимально использовать цифровые цветовые палитры, где это возможно, чтобы свести к минимуму объем и размер требуемой памяти. Это было особенно важно при разработке графических карт, которым требовалось достаточно памяти для хранения хотя бы одного полного кадра дисплея. Добавив на карту небольшую специальную область памяти для использования в качестве палитры, можно было существенно уменьшить размер памяти основного кадра. Это было достигнуто за счет сложности, потому что теперь каждое отображаемое изображение должно было иметь палитру. Чтобы не создавать специальную палитру для каждого изображения, были разработаны стандартные цветовые палитры, а затем адаптивные цветовые палитры; подробнее см. в разделе Стандартные и адаптивные палитры ниже.

Поскольку стоимость памяти снизилась, а емкость запоминающих устройств увеличилась, использование аппаратных палитр стало ненужным. Лишь немногие современные видеокарты реализуют аппаратные палитры. Тем не менее, есть несколько веских причин использовать палитры программного обеспечения.

Палитра программного обеспечения

Как правило, программная палитра, связанная с изображением, включается в сам файл изображения. Палитра и матрица изображения образуют отдельные разделы в одном файле. Некоторые форматы изображений, такие как GIF, требуют использования программной палитры, тогда как другие, такие как BMP, вообще не поддерживают палитры.

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

Стандартные и адаптивные палитры

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

Стандартная палитра

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

Наиболее часто используемой стандартной палитрой для графической карты VGA была палитра BIOS Mode 13H.

Дизеринг

Хотя сглаживание может улучшить внешний вид изображения с палитрой (при условии, что вы не присматриваетесь слишком близко), оно достигает своих результатов за счет снижения разрешения изображения из-за того, что сглаживание значений пикселей вносит «шум». »в образ. Поэтому никогда не следует сглаживать изображение, которое вы хотите сохранить в качестве «мастера».

Адаптивная палитра

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

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

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

Следует ли вам использовать цифровые цветовые палитры?

Палетизация изображения обычно представляет собой процесс с потерями. Как я объяснял в предыдущем посте [Как избежать комаров], вы не должны никогда применять процессы с потерями к «главным» файлам. Таким образом, если ваше мастер-изображение полноцветное (например, фотография), вы всегда должны хранить его в «сыром» состоянии, без палитры.

Однако, если вы хотите максимально эффективно передать изображение, размер файла может уменьшиться, если вы настроите изображение на палитру. Это также избавляет от необходимости делиться высококачественным мастер-изображением без палитры, что может быть полезно, если вы публикуете изображение на общедоступной веб-странице.

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

Опубликовано

Дэвид О. Ходжсон

Дэйв обладает необычайно широкими и глубокими навыками, включая проектирование, программирование, письмо, графику и художественное оформление. Получив степени BSEE и ACGI в области электротехники в престижном Имперском колледже в Лондоне, он начал свою карьеру инженером радиовещания на BBC. Затем он перешел в частный бизнес, в том числе работал в Центре передовых видеотехнологий Sony, где разрабатывал аппаратное и программное обеспечение для инновационных видеопродуктов, что принесло ему несколько патентов США и Японии. Начав свой собственный бизнес с создания некоторых ранних мультимедийных продуктов, Дэйв также консультировал других клиентов, расширяя свои навыки проектирования систем от видео до мультимедиа и компьютерной безопасности. Дэйв живет в Санта-Розе, штат Калифорния, со своей женой, которой уже 25 лет, и несколькими кошками. Просмотреть все сообщения Дэвида О. Ходжсона

Оставить ответ Отменить ответ

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.

Читайте также: