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