Программирование >>  Перегруженные имена функций и идентификаторы 

1 ... 70 71 72 [ 73 ] 74 75 76 ... 210


Подпрограммы управления палитрой в случае CGA

Поскольку палитра CGA является предопределенной, подпрограмму setallpalette использовать в данном случае нельзя. Также не следует использовать setpalette(индекс, фактическийцвет), за исключением индекс=0. (Это альтернативный способ установки фонового цвета CGA равным фактическому цвету)

Управление цветом для EGA и VGA

В случае EGA палитра содержит 16 элементов из общего количества 64 возможных цветов, причем каждый из элементов палитры может быть задан пользователем. Доступ к текущей палитре выполняется через функцию getpalette, которая заполняет структуру, включающую в себя размер палитры (16) и массив фактических элементов палитры ( аппаратные номера цветов , хранимые в палитре). Элементы палитры можно изменять как по отдельности при помощи setpalette, либо все сразу через функцию setallpalette.

Палитра EGA по умолчанию соответствует 16 цветам CGA, которые были даны в предыдущей таблице цветов: черный равен элементу 0, голубой равен элементу 1, ... , белый равен элементу 15. В graphics.h определены константы, которые содержат соответствующие цветам аппаратные значения: это EGA BLACK, EGA WHITE и т.д. Эти значения могут быть также получены через функцию getpalette.

Подпрограмма setbkcolor(цвет) на EGA работает несколько иначе, чем на CGA. На EGA setbkcolor копирует фактическое значение цвета, хранящееся в элементе #цвет, в элемент #0.

Что касается цветов, то драйвер VGA работает фактически так же, как и драйвер EGA; он просто имеет более высокое разрешение (и меньшие по размеру элементы изображения)

Обработка ошибок в графическом режиме

Ниже приведены функции обработки ошибок в графическом режиме:

grapherrormsg

Возвращает строку с сообщением об ошибке для заданного кода ошибки.



graphresult

Возвращает код ошибки для последней графической операции, в которой встретилась ошибка.

Если ошибка произошла при вызове графической библиотечной функции (например, не найден шрифт, запрошенный функцией settextstyle), устанавливается внутренний код ошибки. Доступ к коду ошибки для последней графической операции, сообщившей об ошибке, выполняется при помощи функции graphresult. Вызов grapherrormsg(graphresult()) возвращает строку сообщения об ошибке из приведенных выше.

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

Код ошибки, константа графической ошибки и соответствующая строка с сообщением об ошибке приведены ниже:

grOk

No error (нет ошибки)

grNolnitGraph

(BGI) graphics not installed (use initgraph) (графика не инсталлирована используйте функцию initgraph)

grNotDetected

Graphics hardware not detecte (графическое аппаратное обеспечение не обнаружено)

grFileNotFound

Device driver file not found (не найден файл драйвера устройства)

grlnvalidDriver

Invalid device driver file (неверный файл драйвера устройства)



grNoLoadMem

Not enough memory to load driver (не хватает памяти дя загрузки драйвера)

grNoScanMem

Out of memory in scan fill (кончилась память при сканирующем заполнении)

grNofloodMem

Out of memory in flood fill (кончилась память при лавинном заполнении)

grFontNotFound

Font file not found (файл шрифта не найден)

grNoFontMem

Not enough memory to load font (не хватает памяти для загрузки шрифта)

grInvalidMode

Invalid graphics mode for selected driver (недопустимый графический режим для выбранного драйвера)

grError

Graphics error (графическая ошибка)

grIOerror

Graphics I/O error (графическая ошибка ввода-вывода)

grInvalidFont

Invalid font file (неверный файл шрифта)

grInvalidFontNum

Invalid font number (неверный номер шрифта)

grInvalidDeviceNum

Invalid device number (неверный номер устройства)



1 ... 70 71 72 [ 73 ] 74 75 76 ... 210

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика