Основные функции библиотеки graphics.h

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Введение в библиотеку graphics.h

Библиотека graphics.h является одной из самых популярных библиотек для работы с графикой в языке программирования C. Она предоставляет набор функций для рисования различных графических примитивов, работы с цветами и текстом. Эта библиотека часто используется в учебных целях для изучения основ графического программирования. Основное преимущество graphics.h заключается в её простоте и интуитивно понятном интерфейсе, что делает её идеальной для новичков.

Кинга Идем в IT: пошаговый план для смены профессии

Инициализация графического режима

Перед тем как начать рисовать, необходимо инициализировать графический режим. Это делается с помощью функции initgraph. Она принимает три параметра: указатель на графический драйвер, указатель на графический режим и путь к файлам драйвера. Инициализация графического режима является первым шагом в любом графическом приложении на C, и без неё использование других функций библиотеки невозможно.

c
Скопировать код
#include <graphics.h>

int main() {
    int gd = DETECT, gm;
    initgraph(&gd, &gm, "C:\\Turboc3\\BGI");
    // Ваш код здесь
    closegraph();
    return 0;
}

После вызова initgraph графический режим будет активирован, и вы сможете использовать функции рисования. Важно помнить, что после завершения работы с графикой необходимо вызвать функцию closegraph для завершения графического режима и освобождения ресурсов.

Основные функции рисования

Линии и прямоугольники

Для рисования линий используется функция line, которая принимает четыре параметра: координаты начала и конца линии. Линии являются одним из самых простых графических примитивов, но они могут быть использованы для создания сложных изображений и фигур.

c
Скопировать код
line(int x1, int y1, int x2, int y2);

Пример:

c
Скопировать код
line(100, 100, 200, 200);

Для рисования прямоугольников используется функция rectangle, которая принимает координаты верхнего левого и нижнего правого углов. Прямоугольники часто используются для создания рамок, кнопок и других элементов интерфейса.

c
Скопировать код
rectangle(int left, int top, int right, int bottom);

Пример:

c
Скопировать код
rectangle(150, 150, 250, 250);

Круги и эллипсы

Для рисования кругов используется функция circle, которая принимает координаты центра и радиус. Круги являются важным элементом графического программирования и могут быть использованы для создания различных фигур и объектов.

c
Скопировать код
circle(int x, int y, int radius);

Пример:

c
Скопировать код
circle(300, 300, 50);

Для рисования эллипсов используется функция ellipse, которая принимает координаты центра, углы начала и конца дуги, а также радиусы по осям X и Y. Эллипсы позволяют создавать более сложные формы и могут быть использованы для рисования различных объектов, таких как глаза, колеса и т.д.

c
Скопировать код
ellipse(int x, int y, int start_angle, int end_angle, int x_radius, int y_radius);

Пример:

c
Скопировать код
ellipse(400, 400, 0, 360, 100, 50);

Заполнение областей

Для заполнения областей цветом используется функция floodfill. Она принимает координаты точки внутри области и цвет границы. Заполнение областей позволяет создавать более реалистичные и красочные изображения.

c
Скопировать код
floodfill(int x, int y, int border_color);

Пример:

c
Скопировать код
setcolor(RED);
rectangle(500, 500, 600, 600);
setfillstyle(SOLID_FILL, BLUE);
floodfill(550, 550, RED);

Работа с цветами и текстом

Установка цвета

Для установки текущего цвета рисования используется функция setcolor. Цвета играют важную роль в графическом программировании, так как они позволяют выделять различные элементы и улучшать визуальное восприятие.

c
Скопировать код
setcolor(int color);

Пример:

c
Скопировать код
setcolor(GREEN);
line(100, 100, 200, 200);

Вывод текста

Для вывода текста используется функция outtextxy, которая принимает координаты и строку текста. Текст является важным элементом графических приложений, так как он позволяет отображать информацию и инструкции для пользователя.

c
Скопировать код
outtextxy(int x, int y, char *text);

Пример:

c
Скопировать код
outtextxy(100, 100, "Hello, World!");

Установка стиля заполнения

Для установки стиля заполнения используется функция setfillstyle, которая принимает тип заполнения и цвет. Стиль заполнения позволяет создавать различные текстуры и узоры, что делает изображения более интересными и разнообразными.

c
Скопировать код
setfillstyle(int pattern, int color);

Пример:

c
Скопировать код
setfillstyle(SOLID_FILL, YELLOW);
bar(200, 200, 300, 300);

Примеры использования

Пример 1: Рисование дома

В этом примере мы нарисуем простой дом с крышей, окнами и дверью. Этот пример демонстрирует использование различных функций библиотеки graphics.h для создания сложного изображения.

c
Скопировать код
#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: Рисование солнца

В этом примере мы нарисуем солнце с лучами. Этот пример демонстрирует использование функций для рисования кругов и линий, а также использование тригонометрических функций для расчета координат лучей.

c
Скопировать код
#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 и понять, как использовать основные функции для рисования графических примитивов. Надеемся, что эта статья была полезной и вы сможете применять полученные знания в своих проектах. Удачи в изучении графического программирования! 😉

Читайте также