Графика в Си.
В графическом режиме в Си можно отображать на экране различные фигуры, строить изображения, реализовывать анимацию и компьютерные игры.
Чтобы работать в графическом режиме в Си, необходимо перейти в графический режим, инициализировав графическое окно си initwindow ( ширина окна, высота окна ); в котором и будут рисоваться изображения. После завершения работы с графикой, необходимо выйти из графического режима с помощью команды closegraph();
Структура программы с графикой в Си.
#include <graphics.h> // подключение заголовочного файла с графическими функциями
#include <conio.h>
main()
{
initwindow ( 500, 500 ); // инициализировали и открыли окно размером 500 на 500
…рисуем графические объекты
getch(); // ждем нажатия клавиши
closegraph(); // закрываем графический режим
}
Основные графические объекты в си, такие как точка, линия, окружность, прямоугольник задаются с помощью системы координат. Система координат в графическом режиме Си задается следующим образом. Верхний левый угол экрана имеет координату x=0 и y=0.
Координата X задается слева направо. Т.е. чем больше X, тем правее точка.
Координата Y задается сверху вниз. Т.е. чем больше Y, тем ниже точка.
Максимальные X это ширина окна. Максимальное Y это высота окна.
Задание цвета изображения в Си
Чтобы задать цвет изображаемого объекта, используется оператор setcolor(номер цвета);
Таблица цветов в Си.
0 черный
1 синий
2 зеленый
3 морской волны
4 красный
5 фиолетовый
6 коричневый
7 светло-серый
8 темно-серый
9 светло-синий
10 светло-зеленый
11 светлый морской волны
12 светло-красный
13 светло-фиолетовый
13 светло-фиолетовый
14 желтый
15 белый
Например
setcolor(4);// устанавливаем красный цвет
Отображение точки в Си.
Для рисования точки в графических программах си используется оператор
putpixel (x, y, номер цвета );
x, y – координаты точки
номер цвета – цвет, которым будет отображена точка
Отображение линии в Си
Для рисования отрезка в графических программах си используется оператор
line (x1,y1,x2,y2)
x1, y1 – координаты одного конца отрезка
x2, y2 – координаты другого конца отрезка
Отображение окружности в Си
Для рисования окружности в графических программах си используется оператор
circle (x, y,r );
x, y – координаты центра окружности
r- радиус окружности
Пример. Отображение окружности белого цвета с центром 100, 100 и радиусом 20.
setcolor(15);// устанавливаем цвет рисования 15 - белый
circle(100,100, 20);// рисуем окружность с центром 100, 100 и радиусом 20
Отображение прямоугольника в Си.
Для рисования прямоугольной рамки в графических программах си используется оператор.
rectangle (x1, y1, x2, y2);
x1, y1 – координаты верхнего левого угла прямоугольника
x2, y2 – координаты нижнего правого угла прямоугольника
Чтобы задать цвет рамки необходимо предварительно установить цвет рисования с помощью оператора setcolor(номер цвета);
Для отображения закрашенного прямоугольника в Си используются два оператора.
setfillstyle ( 1, номер цвета );
bar (x1, y1, x2, y2);
x1, y1 – координаты верхнего левого угла прямоугольника
x2, y2 – координаты нижнего правого угла прямоугольника
Закрашивание ограниченной области в Си.
Чтобы закрасить определенным цветом целую ограниченную область в графической программе си используются два оператора.
setfillstyle (1, цвет закраски );
floodfill (x, y, цвет границы области);
x, y – координаты внутри области
цвет закраски – цвет , которым будет закрашиваться область
цвет границы области – цвет границы закрашиваемой области
Пример закрашенного кругав графических программах си
setcolor(15);// устанавливаем цвет рисования 15 - белый
circle(100,100, 20);// рисуем окружность с центром 100, 100 и радиусом 20
setfillstyle ( 1, 15 ); // устанавливаем цвет заполнения круга белый -15
floodfill (100, 100, 15); // заполняем окружность, указывая точку внутри ее – центр
Пример графической программы на си
Пример программы 17 графическая программа на си рисует автомобиль.
#include <graphics.h>
#include <conio.h>
main()
{
initwindow(500, 500);// инициализируем графическое окно
// рисуем кузов
setfillstyle (1,4 ); // устанавливаем вид заливки 1 -полный, цвет заливки 4 - красный
bar(100, 150, 200, 170);// закрашенный прямоугольник нижняя часть кузова
bar(120, 150, 170, 130);// закрашенный прямоугольник верхняя часть кузова
// рисуем колеса
setcolor(15); // устанавливаем цвет колеса
circle(120, 170, 10); // левое колесо окружность ниже кузова
circle(170, 170, 10); // правое колесо окружность ниже кузова
setfillstyle (1,8); // устанавливаем вид заливки полный - 1 цвет серый - 8
floodfill(120,170,15); // закрашиваем круг левого колеса до границы круга цветом 15
floodfill(170,170,15); // закрашиваем круг левого колеса до границы круга цветом 15
getch(); // ждем нажатия кнопки
closegraph(); // выход из графического режима
}
Вернуться к содержанию Перейти к следующему уроку Случайные числа в Си
Полезно почитать по теме графика в си
Пример использования графики в си программа для рисования узоров
Пример использования графики в си программа для рисования орнаментов
Анимация графических объектов си
Поделиться: