|
Программирование >> Перегруженные имена функций и идентификаторы
Размер палитры определяет диапазон значений, которые может принимать элемент изображения, от 0 до (размер-1). Функция getmaxcolor возвращает максимальное допустимое значение элемента изображения (размер-1) дя текущего графического драйвера и режима. При обсуждении графических функций Borland C++ мы часто используем термин цвет , например текущий цвет вычерчивания, цвет заполнения и цвет элемента изображения. Фактически цветом мы здесь называем значение элемента изображения: это некоторый индекс в палитре. Только палитра реально определяет фактический цвет на экране. Манипулируя палитрой, вы можете изменять фактические цвета, выводимые на дисплей, даже хотя значения элементов изображения (цвета вычерчивания, заполнения и т.д.) могут не изменяться. Цвет фона и вычерчивания Цвет фона всегда соответствует значению элемента изображения 0. Когда выполняется очистка области экрана в цвет фона, это означает просто установку всех элементов изображения этой области в значение 0. Цветом вычерчивания (цветом переднего плана) называется значение, в которое устанавливаются элементы изображения при вычерчивании линий. Цвет вычерчивания устанавливается функцией setcolor(n), где n есть допустимое для текущей палитры значение элемента изображения Управление цветом на CGA Из-за различий в графическом аппаратном обеспечении фактическое управление цветами различно дя CGA и EGA, что заставляет нас рассмотреть их по отдельности. Управление цветом для драйвера AT&T, а также режимы низкой разрешающей способности драйвера MCGA аналогичны управлению цветом CGA. В случае адаптера CGA вы можете выбрать либо режим низкой разрешающей способности (320х200), который допускает использование четырех цветов, либо режим высокой разрешающей способностей (640х200), где допускается использование двух цветов. CGA в режиме низкой разрешающей способности В режиме низкой разрешающей способности вы имеете возможность выбрать одну из четырех четырехцветных палитр. В каждой из этих четырех палитр вы можете сами установить только первый (цвет 0) элемент; цвета 1, 2 и 3 являются фиксированными. Первый элемент палитры (цвет 0) - это цвет фона. Этот цвет может являться одним из 16 имеющихся цветов (см. таблицу цветов фона, приводимую ниже). Вы выбираете желаемую палитру, выбирая соответствующий режим (CGAC0, CGAC1, CGAC2, CGAC3); эти режимы используют палитры цветов от 0 до 3, соответственно, как показано в следующей таблице. Цвета вычерчивания в CGA и эквивалентные им константы определяются в graphics.h. Константа, присвоенная номеру цвета (значению эл. изображения) Номер палитры 1 2 3 0 CGA LIGHTGREEN CGA LIGHTRED CGA YELLOW 1 CGA LIGHTCYAN CGA LIGHTMAGENTA CGA WHITE 2 CGA GREEN CGA RED CGA BROWN 3 CGA CYAN CGA MAGENTA CGA LIGHTGRAY Для того, чтобы назначить один из этих цветов цветом вычерчивания CGA, нужно вызвать функцию setcolor, задав в ней в качестве аргумента либо номер цвета, либо имя соответствующей константы; например, если вы используете палитру 3 и желаете назначить цветом вычерчивания cyan, то можно записать: setcolor(1); setcolor(CGA CYAN); В следующей таблице перечислены назначаемые для CGA цвета фона: Числовое значение Символическое имя 0 BLACK 8 DARKGRAY 1 BLUE 9 LIGHTBLUE 2 GREEN
Цвета CGA для переднего пана те же, что находятся в данной таблице. Для назначения одного из этих цветов в качестве фонового цвета служит функция setbkcolor(цвет), где цвет - это один из элементов приведенной выше таблицы. Отметим, что для CGA цвет не является значением элемента изображения (индексом в палитре). Он прямо задает фактический цвет, помещаемый в первый элемент палитры. CGA в режиме высокой разрешающей способности В режиме высокой разрешающей способности (640x200) CGA работает с двумя цветами - черным цветом фона и цветным передним планом. Элементы изображения могут принимать при этом значения только 0 или 1. В связи с особенностями CGA цветом переднего плана фактически является тот цвет, который аппаратное обеспечение считает цветом фона. Таким образом, цвет переднего плана устанавливается подпрограммой setbkcolor. Цвет для переднего плана может быть выбран из предыдущей таблицы. CGA далее будет использовать этот цвет для отображения им всех элементов изображения, имеющих значение 1. Режимы CGAHI, MCGAMED, MCGAHI, ATT400MED и ATT400HI работают аналогичным образом.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |