Графика в Си.

12 сентября 2018 - Администратор

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

Чтобы работать в графическом режиме в Си, необходимо перейти в графический режим, инициализировав графическое окно си 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();  // выход из графического режима
}

рисунок на си

   Вернуться к содержанию     Перейти к следующему уроку Случайные числа в Си

Полезно почитать по теме графика в си
Пример использования графики в си  программа для рисования узоров
Пример использования графики в си программа для рисования орнаментов
Анимация графических объектов си

Поделиться: