Палитра (компьютерная графика)
В компьютерной графике палитра — ограниченный набор цветов, доступный ранним графическим системам компьютера. Синоним: индексированные цвета.
Принцип действия
Из широкого цветового пространства выбираются любые N цветов, и их координаты (обычно: R, G и B) хранятся в специальной таблице — палитре. Данные растровой графики, использующие палитру, представляют собой массив, где хранятся номера (индексы) цветов в палитре.
Палитровая графика позволяет совместить широкий цветовой охват изображения с невысоким расходом памяти.
Палитровые видеорежимы
Палитровые режимы — видеорежимы, в которых каждый пиксель может принимать один из небольшого (от 2 до 256) количества цветов. Видеопамять в таких режимах делится на две части: таблицу цветов (палитру), которая содержит значения красного, зелёного и синего для каждого из цветов, и кадровый буфер, в котором для каждого пикселя хранится номер цвета в палитре.
Как правило, палитру можно изменять независимо от кадрового буфера. Если каким-то образом на экран попала картинка в неправильной палитре, возникает специфический видеоэффект.
Чтобы вывести на 256-цветный экран изображение, в котором более чем 256 цветов, требуется построить палитру, приближающую потребные цвета. Качественное построение 256-цветной палитры может занимать довольно много времени (до нескольких секунд на компьютерах того времени). Поэтому там, где требуется скорость (веб, игры, воспроизведение видео) палитра жёстко задаётся в графических данных, а не строится динамически.
Палитровые спецэффекты
Тот факт, что палитру можно менять независимо от кадрового буфера, широко применяется в видеоиграх для получения очень быстрых спецэффектов. Вот (не исчерпывающий) список игр с подобными видеоэффектами.
- Doom: вспышки экрана, когда герой подбирает предмет или ранен, а также изменение цвета изображения при пользовании скафандром.
- Warcraft II: плеск воды. Интересно, что в редакторе Warcraft II плеск воды также реализован — разумеется, только в 256-цветных режимах.
- Mortal Kombat: разноцветные ниндзя.
Также осветление-затемнение цвета в палитровых играх выполняется очень быстро (хоть и некачественно) с помощью таблиц замены цветов — в одну-две машинных команды на пиксель. В Doom с помощью замены цветов реализованы темнота, прибор ночного видения и неуязвимость; практически во всех стратегиях того времени (да и в том же Doom) — перекраска опознавательных знаков в цвет игрока. В truecolor эти же операции приходится делать покомпонентно, зачастую с дорогостоящим умножением, что требует намного больше процессорного времени.
Палитровые файлы
Палитровые или индексированные файлы — графические файлы, устроенные аналогичным образом. Как и в палитровых видеорежимах, заменой палитры можно перекрашивать объекты (например, в компьютерной игре встречаются автомобили шести цветов, при этом в файлах данных хранится одна картинка автомобиля с шестью палитрами). См. Цифровое изображение.
Палитровые видеорежимы практически не применяются с современными компьютерными мониторами. Тем не менее, палитровые графические файлы всё ещё активно используются.
- Если используется 256 (или меньше) разных цветов, палитровый рисунок зачастую меньше аналогичного полноцветного, совсем без потерь качества.[1]
- Уменьшение количества цветов — разновидность сжатия с потерями.
Прозрачный цвет
В палитровом файле один или несколько цветов могут быть сделаны прозрачными. При отрисовке таких файлов пиксели полностью прозрачного цвета не рисуются, и на их месте остаётся фон.
Графический формат PNG позволяет 8-битный альфа-канал в 8-битном изображении.
Примечания
- Из-за особенности формата PNG — кадровый буфер сжимается, а палитра нет — небольшие файлы бывает выгодно делать truecolor. Но при увеличении габаритов картинки выигрыш пропадает.