Есть ли библиотеки для работы с графикой - C (СИ)
Формулировка задачи:
У меня вопрос, есть ли вообще такие функции ? Но только на Турбо Си, не с++. Искать в интернете надоело и долго, ничего не нашел толком. Хотел бы спросить у вас. Кто знает не молчите, отпишитесь!!!
Решение задачи: «Есть ли библиотеки для работы с графикой»
textual
Листинг программы
#include <graphics.h>
#include <stdlib.h>
#include <conio.h>
void opengraph(void);
int main(void){
//подчищаем экран от предыдущих записей
clrscr();
//включаем режим работы с графикой
opengraph();
//инициализируем переменную, которая будет отвечает за размер радиуса в пикселях
int radius = 100;
//нахождение центра экрана по оси ОХ
int midx = getmaxx() / 2;
//нахождение центра экрана по оси ОY
int midy = getmaxy() / 2;
//установливаем зеленый цвет для дальнейших прорисовок контуров граф. элементов
setcolor(GREEN);
//ф-ция вывода круга на экран
circle(midx, midy, radius);
//ждем пока пользователь не нажмет какую-либо клавишу для выхода из программы
getch();
//закрываем графический режим в конце работы с ним
closegraph();
return 0;
}
void opengraph(void){
//подключение драйвера граффики, здесь: автоопределение драйвера
int gdriver = DETECT, gmode, errorcode;
//инициализация графики и локальных переменных
initgraph(&gdriver, &gmode, "");
//чтение результата инициализации
errorcode = graphresult();
if (errorcode != grOk)
{
cprintf("Graphics error: %s\n", grapherrormsg(errorcode));
cprintf("Press any key to halt:");
getch();
exit(1);
}//предупреждение об ошибке и ее причина если она появится
}
Объяснение кода листинга программы
- #include
Включает библиотеку для работы с графикой. - #include
Включает библиотеку для работы с общими функциями программирования. - #include
Включает библиотеку для работы с функциями ввода-вывода. - void opengraph(void); Функция для открытия графического режима.
- int main(void){ Главная функция программы.
- clrscr(); Очистка экрана от предыдущих записей.
- opengraph(); Включение режима работы с графикой.
- int radius = 100; Инициализация переменной, отвечающей за размер радиуса в пикселях.
- int midx = getmaxx() / 2; Нахождение центра экрана по оси ОХ.
- int midy = getmaxy() / 2; Нахождение центра экрана по оси ОY.
- setcolor(GREEN); Установка зеленого цвета для дальнейших прорисовок контуров графических элементов.
- circle(midx, midy, radius); Функция для вывода круга на экран.
- getch(); Ожидание нажатия клавиши для выхода из программы.
- closegraph(); Закрытие графического режима в конце работы с ним.
- return 0; Возврат 0, указывающий на успешное выполнение программы.
- void opengraph(void); Функция для открытия графического режима.
- int gdriver = DETECT; Инициализация переменной, которая будет отвечать за выбор драйвера графики.
- int gmode, errorcode; Инициализация переменных для хранения режима графики и кода ошибки.
- initgraph(&gdriver, &gmode, ``); Инициализация графики и локальных переменных.
- errorcode = graphresult(); Чтение результата инициализации.