Основные функции библиотеки graphics.h
Пройдите тест, узнайте какой профессии подходите
Введение в библиотеку graphics.h
Библиотека graphics.h
является одной из самых популярных библиотек для работы с графикой в языке программирования C. Она предоставляет набор функций для рисования различных графических примитивов, работы с цветами и текстом. Эта библиотека часто используется в учебных целях для изучения основ графического программирования. Основное преимущество graphics.h
заключается в её простоте и интуитивно понятном интерфейсе, что делает её идеальной для новичков.
Инициализация графического режима
Перед тем как начать рисовать, необходимо инициализировать графический режим. Это делается с помощью функции initgraph
. Она принимает три параметра: указатель на графический драйвер, указатель на графический режим и путь к файлам драйвера. Инициализация графического режима является первым шагом в любом графическом приложении на C, и без неё использование других функций библиотеки невозможно.
#include <graphics.h>
int main() {
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\\Turboc3\\BGI");
// Ваш код здесь
closegraph();
return 0;
}
После вызова initgraph
графический режим будет активирован, и вы сможете использовать функции рисования. Важно помнить, что после завершения работы с графикой необходимо вызвать функцию closegraph
для завершения графического режима и освобождения ресурсов.
Основные функции рисования
Линии и прямоугольники
Для рисования линий используется функция line
, которая принимает четыре параметра: координаты начала и конца линии. Линии являются одним из самых простых графических примитивов, но они могут быть использованы для создания сложных изображений и фигур.
line(int x1, int y1, int x2, int y2);
Пример:
line(100, 100, 200, 200);
Для рисования прямоугольников используется функция rectangle
, которая принимает координаты верхнего левого и нижнего правого углов. Прямоугольники часто используются для создания рамок, кнопок и других элементов интерфейса.
rectangle(int left, int top, int right, int bottom);
Пример:
rectangle(150, 150, 250, 250);
Круги и эллипсы
Для рисования кругов используется функция circle
, которая принимает координаты центра и радиус. Круги являются важным элементом графического программирования и могут быть использованы для создания различных фигур и объектов.
circle(int x, int y, int radius);
Пример:
circle(300, 300, 50);
Для рисования эллипсов используется функция ellipse
, которая принимает координаты центра, углы начала и конца дуги, а также радиусы по осям X и Y. Эллипсы позволяют создавать более сложные формы и могут быть использованы для рисования различных объектов, таких как глаза, колеса и т.д.
ellipse(int x, int y, int start_angle, int end_angle, int x_radius, int y_radius);
Пример:
ellipse(400, 400, 0, 360, 100, 50);
Заполнение областей
Для заполнения областей цветом используется функция floodfill
. Она принимает координаты точки внутри области и цвет границы. Заполнение областей позволяет создавать более реалистичные и красочные изображения.
floodfill(int x, int y, int border_color);
Пример:
setcolor(RED);
rectangle(500, 500, 600, 600);
setfillstyle(SOLID_FILL, BLUE);
floodfill(550, 550, RED);
Работа с цветами и текстом
Установка цвета
Для установки текущего цвета рисования используется функция setcolor
. Цвета играют важную роль в графическом программировании, так как они позволяют выделять различные элементы и улучшать визуальное восприятие.
setcolor(int color);
Пример:
setcolor(GREEN);
line(100, 100, 200, 200);
Вывод текста
Для вывода текста используется функция outtextxy
, которая принимает координаты и строку текста. Текст является важным элементом графических приложений, так как он позволяет отображать информацию и инструкции для пользователя.
outtextxy(int x, int y, char *text);
Пример:
outtextxy(100, 100, "Hello, World!");
Установка стиля заполнения
Для установки стиля заполнения используется функция setfillstyle
, которая принимает тип заполнения и цвет. Стиль заполнения позволяет создавать различные текстуры и узоры, что делает изображения более интересными и разнообразными.
setfillstyle(int pattern, int color);
Пример:
setfillstyle(SOLID_FILL, YELLOW);
bar(200, 200, 300, 300);
Примеры использования
Пример 1: Рисование дома
В этом примере мы нарисуем простой дом с крышей, окнами и дверью. Этот пример демонстрирует использование различных функций библиотеки graphics.h
для создания сложного изображения.
#include <graphics.h>
int main() {
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\\Turboc3\\BGI");
// Рисуем корпус дома
setcolor(WHITE);
rectangle(150, 200, 350, 400);
setfillstyle(SOLID_FILL, LIGHTGRAY);
floodfill(200, 250, WHITE);
// Рисуем крышу
line(150, 200, 250, 100);
line(250, 100, 350, 200);
setfillstyle(SOLID_FILL, RED);
floodfill(250, 150, WHITE);
// Рисуем дверь
rectangle(225, 300, 275, 400);
setfillstyle(SOLID_FILL, BROWN);
floodfill(250, 350, WHITE);
// Рисуем окна
rectangle(175, 250, 225, 300);
rectangle(275, 250, 325, 300);
setfillstyle(SOLID_FILL, BLUE);
floodfill(200, 275, WHITE);
floodfill(300, 275, WHITE);
getch();
closegraph();
return 0;
}
Пример 2: Рисование солнца
В этом примере мы нарисуем солнце с лучами. Этот пример демонстрирует использование функций для рисования кругов и линий, а также использование тригонометрических функций для расчета координат лучей.
#include <graphics.h>
#include <math.h>
int main() {
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\\Turboc3\\BGI");
// Рисуем солнце
setcolor(YELLOW);
circle(300, 300, 50);
setfillstyle(SOLID_FILL, YELLOW);
floodfill(300, 300, YELLOW);
// Рисуем лучи
for (int i = 0; i < 360; i += 30) {
int x = 300 + 70 * cos(i * M_PI / 180);
int y = 300 + 70 * sin(i * M_PI / 180);
line(300, 300, x, y);
}
getch();
closegraph();
return 0;
}
Эти примеры помогут вам начать работу с библиотекой graphics.h
и понять, как использовать основные функции для рисования графических примитивов. Надеемся, что эта статья была полезной и вы сможете применять полученные знания в своих проектах. Удачи в изучении графического программирования! 😉
Читайте также
- Работа с библиотекой graphics.h: Установка и подключение
- Основные графические примитивы в C
- Рисование прямоугольников и квадратов в C
- Использование Allegro для графики на C
- Примеры интерактивных приложений на C
- Основные библиотеки для графики на C
- Примеры использования graphics.h
- Установка и настройка среды разработки для графики на C
- Рисование графиков функций в C
- Обработка событий в графических приложениях на C