How do I использовал graphics.h in Ubuntu?

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?

19
задан 21 February 2015 в 01:52

2 ответа

Если Вы хотите использовать graphics.h в человечности или каком-либо другом дистрибутиве Linux, то я предпочитаю libxbgi. Это может сделать почти все вещи, которые Вы ожидаете от graphics.h для окон. Можно загрузить его отсюда: http://libxbgi.sourceforge.net/

Иначе, если Вы хотите сделать некоторую графику высокого класса тогда, Вы там для SDL (который является главным образом для программирования видеоигр), и OpenGL (который является для 3D графики). Можно также использовать смесь двух. Одним примером является игра briquolo (написание может быть неправильным).

СЧАСТЛИВОЕ ГРАФИЧЕСКОЕ ПРОГРАММИРОВАНИЕ!!

2
ответ дан 23 November 2019 в 01:59

Существует несколько опций, доступных, чтобы сделать программирование графики с помощью Ubuntu.

Использование SDL

Если Вы хотите использовать graphics.h на платформе Ubuntu необходимо скомпилировать и установить libgraph. Это - реализация турбо c графический API на Linux с помощью SDL.

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

Можно загрузить его отсюда.

  1. Сначала добавьте репозиторий Вселенной (так как некоторые необходимые пакеты не доступны в основном репозитории):

    sudo add-apt-repository universe
    sudo apt-get update
    
  2. Вторая существенная для сборки установка и некоторые дополнительные пакеты:

    • Для версий до 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
      
  3. Теперь извлеките загруженный libgraph-1.0.2.tar.gz файл.

  4. Перейдите к извлеченной папке и выполните следующую команду:

    ./configure
    make
    sudo make install
    sudo cp /usr/local/lib/libgraph.* /usr/lib
    
  5. Теперь можно использовать #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
    

Output of Demo 1

Использование OpenGL (через ИЗБЫТОК)

Хотя 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

  • Выполните его использование

    ./демонстрация

Output of Demo 2

31
ответ дан 23 November 2019 в 01:59

Другие вопросы по тегам:

Похожие вопросы: