Мультимедийные технологии в САПР. Часть II. Майстренко Н.В - 36 стр.

UptoLike

Ширина экрана
Высота экрана
Background
pixel
биты
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
M cr
0
1
Номер байта
2
3
4
5
6
7
Рис. 7.4. Формат дескриптора экрана Gif-файла:
ширина и высота экранаширина и высота растра в пикселях; М = 1,
за дескриптором следует глобальная таблица цветов;
cr+1 – число бит цветового разрешения; pixel+1 – число бит/пискель
в изображении; Background – цветовой индекс фона экрана
Число элементов цветовой таблицы, следующей за описателем экрана, равно 2*(число бит/пиксел), причем
каждый элемент состоит из трёх байтов, значения которых описывают соответственно относительную интен-
сивность красного, зелёного и синего цветов.
Получаемое значение каждого пикселя при высвечивании изображения будет соответствовать ближайше-
му доступному цвету из цветовой таблицы дисплея. Цветовые компоненты представляют собой значение отно-
сительной интенсивности от нулевой (0) до полной (255). Белый цвет может быть представлен как
(255,255,255), черный как (0,0,0) и жёлтый как (180,180,0). При высвечивании на дисплеях, которые поддержи-
вают менее 8 бит на цветовую компоненту, используются старшие биты. При создании элементов цветовой
таблицы GIF на аппаратуре, поддерживающей менее 8 бит на компоненту, значение аппаратной компоненты
должно быть конвертировано в 8-битный формат по следующей формуле:
<значение_в_таблице> = <компонента>*255/(2*<число_бит> -1).
Это обеспечивает точный перевод цветов для всех дисплеев. В случае создания изображения GIF на аппа-
ратуре без возможности цветовой палитры, должна быть создана фиксированная палитра на основе доступных
для данного оборудования цветов. Если указано отсутствие глобальной таблицы цветов, цветовая таблица по
умолчанию генерируется внутренним образом так, что каждый цветовой индекс был равен аппаратному цвето-
вому индексу.
Дескриптор изображения определяет действительное расположение и размеры последующего изображе-
ния внутри пространства, определённого в дескрипторе экрана. Также определяются флаги, указывающие на
присутствие локальной таблицы для поиска цветов и определения последовательности высвечивания пикселей.
Каждый дескриптор изображения начинается с символа-разделителя изображений (рис. 7.5). Роль разделителя
изображений состоит просто в синхронизации при входе в дескриптор изображения. Это желательно, если GIF-
файл состоит более чем из одного изображения. Этот символ определён как шестнадцатеричное 0×2C или ","
(запятая). Как только этот символ встречается между изображениями, непосредственно за ним следует деск-
риптор изображения.
Любой символ, встреченный между концом предыдущего изображения и символом-разделителем изобра-
жения, игнорируется. Это позволит при последующих модификациях GIF допускать присутствие нескольких
форматов и правильно игнорировать их старыми декодерами.
Описание положения и размеров экрана должно находиться внутри матрицы, определённой в дескрипторе
экрана. С другой стороны, нет необходимости, чтобы изображение полностью заполняло весь экран.