Existem várias opções disponíveis para fazer programação gráfica usando o Ubuntu.
Usando o SDL
Se você quiser usar graphics.h
na plataforma Ubuntu, você precisa compilar e instalar libgraph
. É a implementação da API gráfica do turbo c no Linux usando o SDL.
Não é muito potente e adequado para aplicações de qualidade de produção, mas é simples e fácil de usar para fins de aprendizado.
Você pode baixá-lo de aqui .
-
Primeiro, instale o build-essential digitando
sudo apt-get install build-essential
-
Intarte alguns pacotes adicionais digitando
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
-
Agora extraia o arquivo
libgraph-1.0.2.tar.gz
baixado. -
Gota a pasta extraída e execute o seguinte comando
./configure make sudo make install sudo cp /usr/local/lib/libgraph.* /usr/lib
-
Agora você pode usar o
#include<graphics.h>
na plataforma do Ubuntu -
use a seguinte linha no seu programa
int gd=DETECT,gm; initgraph(&gd,&gm,NULL);
Aqui está um exemplo de programa usando 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;
}
-
Para compilar use
gcc demo.c -o demo -lgraph
-
Para executar o tipo
./demo
Usando o OpenGL (via GLUT)
Embora o OpenGL seja feito basicamente para programação em 3D, o desenho de formas 2D fornece o esboço básico e a introdução ao OpenGL e dá a idéia de como começar a desenhar objetos no OpenGL.
- Para instalar o GLUT, abra o terminal e digite
sudo apt-get install freeglut3-dev
. - Aqui está um programa gráfico simples usando o GLUT
/* 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;
}
- Compile-o usando
gcc demo.c -o demo -lglut -lGL
- Execute-o usando
./demo