Is there any Linux based compiler which supports graphics.h
library? I want to implement graphic programs, so please kindly let я know if there is any such программное обеспечение.
If not then how хан I использовал it?
Если Вы хотите использовать graphics.h в человечности или каком-либо другом дистрибутиве Linux, то я предпочитаю libxbgi. Это может сделать почти все вещи, которые Вы ожидаете от graphics.h для окон. Можно загрузить его отсюда: http://libxbgi.sourceforge.net/
Иначе, если Вы хотите сделать некоторую графику высокого класса тогда, Вы там для SDL (который является главным образом для программирования видеоигр), и OpenGL (который является для 3D графики). Можно также использовать смесь двух. Одним примером является игра briquolo (написание может быть неправильным).
СЧАСТЛИВОЕ ГРАФИЧЕСКОЕ ПРОГРАММИРОВАНИЕ!!
Существует несколько опций, доступных, чтобы сделать программирование графики с помощью Ubuntu.
Если Вы хотите использовать graphics.h
на платформе Ubuntu необходимо скомпилировать и установить libgraph
. Это - реализация турбо c графический API на Linux с помощью SDL.
Это не очень мощно и подходит для производственного качественного приложения, но это просто и просто в использовании для изучения цели.
Можно загрузить его отсюда.
Сначала добавьте репозиторий Вселенной (так как некоторые необходимые пакеты не доступны в основном репозитории):
sudo add-apt-repository universe
sudo apt-get update
Вторая существенная для сборки установка и некоторые дополнительные пакеты:
Для версий до 18,04:
sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-1.8 \
guile-1.8-dev libsdl1.2debian libart-2.0-dev libaudiofile-dev \
libesd0-dev libdirectfb-dev libdirectfb-extra libfreetype6-dev \
libxext-dev x11proto-xext-dev libfreetype6 libaa1 libaa1-dev \
libslang2-dev libasound2 libasound2-dev build-essential
Для 18,04: из Ubuntu 18.04 guile-2.0
работы и libesd0-dev
удерживается от использования. Для этого необходимо добавить репозитории xenial
в sources.list
.
sudo nano /etc/apt/sources.list
Добавьте эти строки:
deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
Выполненный sudo apt-get update
. Затем установите использование пакетов:
sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-2.0 \
guile-2.0-dev libsdl1.2debian libart-2.0-dev libaudiofile-dev \
libesd0-dev libdirectfb-dev libdirectfb-extra libfreetype6-dev \
libxext-dev x11proto-xext-dev libfreetype6 libaa1 libaa1-dev \
libslang2-dev libasound2 libasound2-dev
Теперь извлеките загруженный libgraph-1.0.2.tar.gz
файл.
Перейдите к извлеченной папке и выполните следующую команду:
./configure
make
sudo make install
sudo cp /usr/local/lib/libgraph.* /usr/lib
Теперь можно использовать #include<graphics.h>
на Ubuntu и следующей строке в Вашей программе:
int gd=DETECT,gm;
initgraph(&gd,&gm,NULL);
Вот использование примера программы graphics.h
:
/* demo.c */
#include <graphics.h>
int main()
{
int gd = DETECT,gm,left=100,top=100,right=200,bottom=200,x= 300,y=150,radius=50;
initgraph(&gd,&gm,NULL);
rectangle(left, top, right, bottom);
circle(x, y, radius);
bar(left + 300, top, right + 300, bottom);
line(left - 10, top + 150, left + 410, top + 150);
ellipse(x, y + 200, 0, 360, 100, 50);
outtextxy(left + 100, top + 325, "C Graphics Program");
delay(5000);
closegraph();
return 0;
}
Скомпилировать его использование
gcc demo.c -o demo -lgraph
Выполнять тип
./demo
Хотя OpenGL в основном сделан для 3D программирования, формы рисунка 2D дает основную схему и введение в OpenGL и дает идею о том, как запустить графические объекты в OpenGL.
sudo apt-get install freeglut3-dev
./* demo.c */
#include <GL/gl.h>
#include <GL/glut.h>
#include <GL/glu.h>
void setup() { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); }
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(0.0f, 0.0f, 0.0f);
glRectf(-0.75f,0.75f, 0.75f, -0.75f);
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
glutInitWindowSize(800,600);
glutCreateWindow("Hello World");
setup();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Скомпилируйте его использование
gcc demo.c-o демонстрационный-lglut-lGL
Выполните его использование
./демонстрация