Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования
Скачать 3.41 Mb.
|
highvideo----------------------------------------------------------------- Назначение Устанавливает повышенную яркость текстовых символов. Синтаксис void highvideo(void); Прототип в conio.h Замечания highvideo вызывает изображение символов с повы- шенной яркостью, устанавливая для этого бит ин- тенсивности в текущем цвете переднего плана. Данная функция не влияет на все символы, отоб- ражаемые в данный момент времени на экране. Ее влияние распространяется только на те символы, которые отображаются функциями непосредственно- го вывода на консоль (такими, как cprintf), причем после обращения к данной функции. Возвращаемое Нет. значение Совместимость Данная функция работает только на ЭВМ семейства IBM PC и совместимых с ними; соответствующая функция есть в Турбо Паскале. Смотри также lowvideo, normvideo, textattr, textcolor ----------------------------------------------------------------- hypot----------------------------------------------------------------- Назначение Вычисляет гипотенузу прямоугольного треугольни- ка. Синтаксис double hypot(double x,double y); Прототип в math.h Замечания hypot вычисляет величину z, z^2 = x^2 + y^2 (это равно длине гипотенузы прямоугольного тре- угольника, если длины двух катетов - x и y) Возвращаемое При успехе hypot возвращает z (double), при значение ошибке (например, переполнение) hypot устанав- ливает errno равным ERANGE и возвращает значе- ние HUGE_VAL. Oбработка ошибок для hypot может быть изменена функцией matherr. Переносимость Доступна на системах типа UNIX. ----------------------------------------------------------------- imagesize----------------------------------------------------------------- Назначение Определяет количество байт для хранения части изображения. Синтаксис #include unsigned far imagesize(int left, int top, int right, int bottom); Прототип в graphics.h Замечания imagesize определяет число байт, необходимых для того, чтобы getimage мог сохранить заданную часть изображения. Возвращаемый размер образа включает пространство для хранения ширины и вы- соты прямоугольника. Возвращаемое imagesize возвращает размер требуемой области значение памяти в байтах. Если требуемый для выбранного образа размер памяти превышает 64К-1, то imagesize возвращает OxFFFF(-1). Переносимость Данная функция работает только на IBM PC и сов- местимых моделях при наличии соответствующих графических адаптеров. Смотри также getimage, putimage ----------------------------------------------------------------- initgraph----------------------------------------------------------------- Назначение Инициализирует графическую систему. Синтаксис #include void far initgraph(int far *graphdriver, int far *graphmode, char far *pathtodriver); Прототип в graphics.h Замечания initgraph инициализирует графическую систему, загружая при этом с диска графический драйвер и переводя систему в графический режим. Для запуска графической системы вы, во-первых, должны обратиться к функции initgraph, которая загрузит графический драйвер и переведет систе- му в графический режим. Вы можете указать initgraph конкретные графические драйвер и ре- жим, либо потребовать автоматического определе- ния видеоадаптера и подбора соответствующего драйвера в процессе работы. Если вы требуете у initgraph самоопределения, то для определения графического драйвера и ре- жима она обращается к detectgraph. Кроме того initgraph сбрасывает все графические параметры в их значения по умолчанию (текущая позиция, палитра, цвет, графическое окно и т.д.) и уста- навливает graphresult в 0. Обычно, для установки графического драйвера initgraph выделяет (обращаясь к _graphgetmem) требуемый объем памяти, а затем загружает с диска соответствующий файл .BGI. В качестве альтернативы такой динамической схемы загрузки, вы можете скомпоновать графический драйвер (или несколько из них) с вашим исполняемым файлом. (Для большей информации смотри Приложение D.) pathtodriver задает маршрут к каталогу, в кото- ром initgraph будет искать графические драйве- ры, initgraph вначале просматривает каталог, заданный в pathtodriver, а затем, (если их там нет) - текущий каталог. Таким образом, если pathtodriver равен NULL, то драйверные файлы (*.BGI) должны быть в текущем каталоге. Этот же маршрут задает каталог, в котором функция settextstyle будет искать файлы со шрифтами (*. CHR). *graphdriver представляет собой целое, задающее используемый графический драйвер. Вы можете за- давать его значение, используя константы из приведенного ниже перечисленного типа graphics_ drivers, описанного в graphics.h ----------------------------------------------- Константы graphics_drivers Численное значение ----------------------------------------------- DETECT 0 (требование автоопределения) CGA 1 MCGA 2 EGA 3 EGA64 4 EGAMONO 5 IBM8514 6 HERCMONO 7 ATT400 8 VGA 9 PC3270 10 ----------------------------------------------- *graphmode представляет собой целое, задающее графический режим инициализации (кроме случая, когда *graphdriver = DETECT, т.к. в этом случае *graphmode присваивается значение максимального разрешения, допустимого для распознанного драй- вера). Вы можете задавать значение для *graphmode, используя нижеперечисленные конс- танты graphics_modes, описанные в graphics.h. ----------------------------------------------------------------- графический graphics_modes Значение Колонок Палитра Количество драйвер X строк страниц ----------------------------------------------------------------- CGA CGAC0 0 320 X 200 C0 1 CGAC1 1 320 X 200 C1 1 CGAC2 2 320 X 200 C2 1 CGAC3 3 320 X 200 C3 1 CGACI 4 640 X 200 2 ЦВЕТА 1 MCGA MCGAC0 0 320 X 200 C0 1 MCGAC1 1 320 X 200 C1 1 MCGAC2 2 320 X 200 C2 1 MCGAC3 3 320 X 200 C3 1 MCGAMED 4 640 X 200 2 ЦВЕТА 1 MCGAMHI 5 640 X 400 2 ЦВЕТА 1 EGA EGALO 0 640 X 200 16 ЦВЕТОВ 4 EGAHI 1 640 X 350 16 ЦВЕТОВ 2 EGA64 EGA64LO 0 640 X 200 16 ЦВЕТОВ 1 EGA64HI 1 640 X 350 4 ЦВЕТА 1 EGAMONO EGAMONOHI 3 640 X 350 2 ЦВЕТА 1* EGAMONOHI 3 640 X 350 2 ЦВЕТА 2** HERC HERCMONOHI 0 720 X 348 2 ЦВЕТА 2 ATT400 ATT400C0 0 320 X 200 C0 1 ATT400C1 1 320 X 200 C1 1 ATT400C2 2 320 X 200 C2 1 ATT400C3 3 320 X 200 C3 1 ATT400CMED 4 640 X 200 2 ЦВЕТА 1 ATT400HI 5 640 X 400 2 ЦВЕТА 1 VGA VGALO 0 640 X 200 16 ЦВЕТОВ 2 VGAMED 1 640 X 350 16 ЦВЕТОВ 2 VGAHI 2 640 X 480 16 ЦВЕТОВ 1 PC3270 PC3270HI 0 720 X 350 2 ЦВЕТА 1 IBM8514 IBM8514HI 0 640 X 480 256 ЦВЕТОВ IBM8514LO 1 1024X 768 256 ЦВЕТОВ * 64 K на плате EGAMONO ** 256 K на плате EGAMONO ----------------------------------------------------------------- В вышеприведенной таблице перечень палитр C0, C1, C2, C3 соответствует четырем предопределен- ным четырехцветным палитрам, доступным на сис- темах CGA и совместимых с ними. В каждой из этих палитр вы можете выбирать цвета фона (ну- левой элемент), но остальные цвета зафиксирова- ны. Подобные палитры более детально описаны в Главе 8 настоящего приложения (раздел "Управле- ние цветом"), а сведения о них сведены в следу- ющую таблицу: ----------------------------------------------------------------- Номер Цвет, соответствующий значению точки растра палитры1 2 3 ----------------------------------------------------------------- 0 яркозеленый яркокрасный желтый 1 светлоголубой светломалиновый белый 2 зеленый красный коричневый 3 голубой малиновый светлосерый ----------------------------------------------------------------- После вызова initgraph *graphdriver и *graphmode имеют значения текущего графического драйвера и текущего графического режима соот- ветственно. Возвращаемое initgraph всегда устанавливает внутренний код значение ошибки; причем в случает отсутствия ошибки дан- ный код устанавливается в 0. В случае ошибки *graphdriver устанавливается в -2, -3, -4 или -5, а graphresult возвращает такое же значение, означающее: -2 Не могу определить графическую плату -3 Не могу найти файл-драйвер -4 Некорректный драйвер -5 Для загрузки драйвера не хватает памяти Переносимость Данная функция работает только на IBM PC и совместимых моделях при наличии соответствующих графических адаптеров. Смотри также closegraph, detectgraph, getfaultpallete, getdrivername, getmoderange, graphdefaults, _graphgetmem, graphresult, installuserdriver, registerbgidriver, restorecrtmode, setgraphbufsize, setgraphmode. Пример #include #include #include #include main() { int g_driver, g_mode, g_error; detectgraph(&g_driver, &g_mode,); if(g_driver < 0) { printf("Не определен графический адаптер" "\n");, exit(1); } printf("Определен графический драйвер %d," "режим %d\n",g_driver, g_mode); getch(); if(g_mode == EGAHI) g_mode = EGALO; /* замена режима в случае определения EGA */ initgraph(&g_driver, &g_mode, " "); g_error = graphresult(); if (g_error < 0) { printf("Ошибка initgraph: %s\n", grapherrormsg(g_error)); exit(1); } bar(0, 0, getmaxx()/2, getmaxy()); getch(); closegraph(); } ----------------------------------------------------------------- |