Цвет в коде точки
Кодирование цвета. Среднее количество цветов.
Видеорежимы с указанием цвета непосредственно в коде точки (direct color) были введены в версии стандарта VBE 1.2, опубликованной в октябре 1991 года. К этому времени цветные сканеры уже преодолели барьер в 256 цветов, и возникла необходимость стандартизации способов работы с цветом.Максимальное цветовое разрешение
Максимальное цветовое разрешение обеспечивают видеорежимы VESA, которые в англоязычной литературе принято называть True color или 24-bit Color, последнее название указывает размер кода цвета, а не кода точки.24-разрядный код точки
Стандартом VESA не оговорено обязательное наличие резервного байта в коде точки. Поэтому видеокарты, у которых он отсутствует, а код точки занимает всего 24 разряда, формально соответствуют требованиям стандарта VBE 1.2.Координаты и адреса точек
Для вывода точки заданного цвета в нужное место экрана надо связать координаты этого места с адресом видеопамяти, по которому должен быть записан код точки. Поэтому мы вновь возвращаемся к вопросам, рассмотренным в разделе, но с учетом особенностей режимов direct color.Линии, строки и прямоугольные области. Подпрограммы для рисования линий.
Описание манипуляций с кодами точек мы начнем со случаев, когда они просто записываются в видеопамять или считываются из нее. Для записи кодов нескольких точек при этом используются специальные подпрограммы, рисующие линии геометрических фигур или выполняющие построение строк рисунков.Подпрограммы для построения строк
Строки отличаются от линий тем, что в оперативной памяти хранится их точечный образ. Он может быть получен в результате чтения файла, содержащего рисунок, сохранения изображения находившегося на экране или любым другим способом, для нас это не имеет значения.Работа с прямоугольными областями
В данном разделе нас будет интересовать многофункциональная подпрограмма, способная выполнять различные манипуляции с графическими объектами прямоугольной формы. Ее составление возможно при условии, что требуемые действия выполняют специализированные вспомогательные подпрограммы.Рисунки, использующие палитру
Полноцветные и подготовленные с применением палитры рисунки имеют разное назначение. В режимах direct color графические задачи должны "уметь" работать с любыми рисунками, независимо от способа их подготовки.Преобразование палитры в форматы Hi-Color
Для того чтобы с палитрой можно было работать, ее надо прочитать из файла, содержащего образ рисунка, в оперативную память. Расположение палитры в файле и ее размеры зависят от стандарта хранения графических данных, которому соответствует выбранный вами файл.Преобразование палитры в форматы True Color
В данном разделе описаны две подпрограммы, предназначенные для преобразования кодов цветов палитры в формат, соответствующий режимам True Color. При установке этих видеорежимов код базового цвета занимает 1 байт, поэтому сокращение размеров кодов цветов палитры не требуется, что упрощает выполняемые в подпрограммах действия.Построение рисунков с использованием палитры
Ранее были подробно описаны способы построения не сжатых рисунков, в образах которых точки расположены в естественном порядке. При этом мы различали рисунки ограниченного и произвольного размера. Соответствующие варианты подпрограмм приведены в примерах 3.21 и 3.22, они предназначены для выполнения в режимах PPG.Рисунки, не использующие палитру. Рисунки, подготовленные в стандарте BMP.
Полноцветные (full-color) или художественные точечные компьютерные рисунки не используют палитру. Цвет каждой точки указывается в ее коде, который занимает три байта, содержащих восьмиразрядные коды базовых цветов.Рисунки, подготовленные в стандарте PCX
В файлах формата PCX образы полноцветных рисунков обычно хранятся в упакованном виде. Эффективность принятого в стандарте PCX способа упаковки не высока, но иногда получаются удовлетворительные результаты.Способы сжатия полноцветных рисунков
Возможность сжатия образов точечных рисунков была предусмотрена уже в первых стандартах хранения графических данных. Основным критерием при выборе алгоритмов упаковки была простота их программной реализации, а не степень сжатия исходных данных.Наложение рисунков и спецэффекты
Видеорежимы direct color позволяют решать задачи, постановка которых при работе в режимах PPG была просто невозможна. К ним относится, например, получение различного рода спецэффектов, за счет манипуляций с цветами отдельных точек изображения.