Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
64
Добавлен:
02.05.2014
Размер:
180.22 Кб
Скачать

Наложения и прозрачность

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

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

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

(15 битов) = (R, G, В) = (5 Битов, 5 битов, 5 битов)

Фактически это 15-битовое пиксельное значение хранится в 16 битах. 0стается лишний бит, который может быть использован для поддержки наложения изображений:

(R, G, В, Т) = (16 битов) = (5 битов, 5 битов, 5 битов, 1 оверлейный бит)

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

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

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

Более тщательно разработан механизм наложения изображений при помощи изменения прозрачности нижней и накладываемой картинок. В этом случае каждое пиксельное значение содержит не один оверлейный бит, а несколько (обычно восемь). В качестве примера рассмотрим формат TGA, поддерживающий данные в следующем виде:

(24 бита) = (R, G, В) = (8 битов, 8 битов, 8 битов)

Поскольку это 24-битовое пиксельное значение хранится в 32 битах, то оставшиеся 8 битов используются для поддержания прозрачности:

(R, G, В, Т) = (8 битов, 8 битов, 8 битов, 8 битов прозрачности)

Эти 8 битов прозрачности иногда называют альфа-каналом. Хотя это и несколько усложняет формат TGA, идеальный 8-битовый альфа-канал может поддерживать 256 уровней прозрачности — от 0 (указывает на то, что данный пиксель полностью прозрачен) до 255 (указывает на то, что данный пиксель непрозрачен).

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

Соседние файлы в папке Лекции по компьютерной графике