|
Программирование >> Перегруженные имена функций и идентификаторы
Подпрограммы управления палитрой в случае 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 (неверный номер устройства)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |