Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прилож В2 Описание языка С ч 2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
382.46 Кб
Скачать

Управление цветом

Функции получения информации о цвете:

Функция

Назначение функции

getbcolor()

Возврашает текущий цвет фона

getcolor()

Возвращает текущий цвет вычерчивания

getmaxcolor()

Возвращает максимальное значение цвета, доступное в текущем графическом режиме

Функции установки одного или более цветов:

Функция

Назначение функции

setbkcolor()

Устанавливает текущий цвет фона

setcolor()

Устанавливает текущий цвет вычерчивания

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

Функция

Назначение функции

grapherrormsg()

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

graphresult()

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

Функции запроса состояния

Функция

Назначение функции

getdrivername()

Возвращает имя текущего графического драйвера

getgraphmode()

Возвращает текущий графический режим

getlinesettings()

Возвращает текущие стиль, шаблон и толщину линии

getmaxx()

Возвращает текущее разрешение по оси x

getmaxy()

Возвращает текущее разрешение по оси y

getpixel()

Возвращает цвет пикселя в (x,y)

getx()

Возвращает координату x текущей позиции (CP)

gety()

Возвращает координату y текущей позиции (CP)

Пример. Окружность радиусом 100 пикселей перемещается от левого края экрана к правому с шагом 10 пикселей, изменяя при этом цвет случайным образом .

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

#include <dos.h>

Void main()

{

/* описание переменных для графического режима с автоопределением параметров */

int graphdriver = DETECT, gmode, errorcode;

int x, maxx, midy, color;

int radius = 100;

/* инициализация графики и локальных переменных */

initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */

errorcode = graphresult();

if(errorcode != grOk) /* если ошибка */

{

printf("Ошибка: %s\n", grapherrormessage(errorcode));

printf("Для останова нажмите любую клавишу\n");

getch();

exit(1); /* завершение с кодом ошибки */

}

midy = getmaxy() / 2; /* определение середины экрана по вертикали */

maxx = getmaxx(); /* определение количества пикселей по горизонтали */

for (x= radius; x <= maxx - radius; x+=10)

{

color = random(getmaxcolor()); /* задание случайного значения цвета */

setcolor(color);

/* рисование окружности */

circle(x, midy, radius);

delay(700); /* Задержка выполнения программы на 0,7 сек. */

}

closegraph(); /* закрытие графического режима */

}

Пример использования графических функций приведен в приложении Г (пример №8).

11. Директивы препроцессора

Директивы препроцессора представляют собой инструкции, записанные в тексте программы на С, и выполняемые до трансляции программы. Директивы препроцессора позволяют изменить текст программы, например, заменить некоторые лексемы в тексте, вставить текст из другого файла, запретить трансляцию части текста и т.п. Все директивы препроцессора начинаются со знака #. После директив препроцессора точка с запятой не ставятся.