Como uso o graphics.h no Ubuntu?

17

Existe algum compilador baseado em Linux que suporte a biblioteca graphics.h ? Eu quero implementar programas gráficos, então por favor, deixe-me saber se existe algum software.

Se não, como posso usá-lo?

    
por Atul Singh 17.09.2014 / 09:12

2 respostas

25

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 .

  1. Primeiro adicione o repositório Universe (já que alguns pacotes requeridos não estão disponíveis no repositório principal):

    sudo add-apt-repository universe
    sudo apt-get update
    
  2. Segundo, instale o build-essential e alguns pacotes adicionais:

    • Para versões anteriores a 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
      
    • Para 18.04 : do Ubuntu 18.04 guile-2.0 works e libesd0-dev estão obsoletos. Para isso, você precisa adicionar repositórios de xenial em sources.list .

      sudo nano /etc/apt/sources.list
      

      Adicione estas linhas:

      deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
      deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
      

      Execute sudo apt-get update . Em seguida, instale pacotes usando:

      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
      
  3. Agora extraia o arquivo libgraph-1.0.2.tar.gz baixado.

  4. Vá para a pasta extraída e execute o seguinte comando:

    ./configure
    make
    sudo make install
    sudo cp /usr/local/lib/libgraph.* /usr/lib
    
  5. Agora você pode usar #include<graphics.h> no Ubuntu e na seguinte linha do 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
    

UsandooOpenGL(viaGLUT)

EmboraoOpenGLsejafeitobasicamenteparaprogramaçãoem3D,odesenhodeformas2DforneceoesboçobásicoeaintroduçãoaoOpenGLedáaidéiadecomocomeçaradesenharobjetosnoOpenGL.

  • ParainstalaroGLUT,abraoterminaledigitesudoapt-getinstallfreeglut3-dev.
  • AquiestáumprogramagráficosimplesusandooGLUT
/* 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 usando

    gcc demo.c -o demo -lglut -lGL

  • Execute-o usando

    ./ demo

    
por g_p 17.09.2014 / 09:20
2

Se você quiser usar graphics.h no Ubuntu ou qualquer outra distribuição Linux, então eu prefiro libxbgi. Ele pode fazer quase todas as coisas que você espera do graphics.h para windows. Você pode baixá-lo aqui: link

Caso contrário, se você quiser fazer alguns gráficos de alto nível, então você está lá para o SDL (que é principalmente para a programação de jogos de vídeo) e OpenGL (que é para gráficos 3D). Você também pode usar uma mistura dos dois. Um exemplo é o briquolo do jogo (a ortografia pode estar errada).

PROGRAMAÇÃO GRÁFICA FELIZ !!

    
por Gprogrammer 28.01.2015 / 12:19