首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ubuntu中使用graphics.h?

如何在Ubuntu中使用graphics.h?
EN

Ask Ubuntu用户
提问于 2014-09-17 07:12:15
回答 2查看 185.2K关注 0票数 27

是否有任何基于Linux的编译器支持graphics.h库?我想要实现图形程序,所以请告诉我,如果有这样的软件。

如果没有,那我怎么用呢?

EN

回答 2

Ask Ubuntu用户

发布于 2014-09-17 07:20:24

有几个选项可用于使用Ubuntu进行图形编程。

使用SDL的

如果您想在Ubuntu平台上使用graphics.h,则需要编译和安装libgraph。它是用SDL在Linux上实现turbo图形API的。 它功能不强,不适用于生产质量的应用,但它简单易用,便于学习。 您可以从这里下载它。

  1. 首先,添加宇宙存储库(因为一些必需的包在主存储库中不可用):sudo添加-apt-存储库宇宙sudo apt更新。
  2. 第二次安装构建-必需的和一些附加的软件包:
    • 对于18.04之前的版本: sudo apt-get install libsdl-image1.2 libsdl-1.8\ guile-1.8-dev libsdl1.2debian libart-2.0-dev libaudiofile dev\ libdirectfb-dev libfreetype6-dev \ libxext-dev x11 prior xext-dev libaa1 babaa1-dev\ libslang2-dev libasound2 libasound2-dev -libasound2
    • 对于18.04:来自Ubuntu18.04的guile-2.0 works和libesd0-dev被废弃。为此,您需要在xenialsources.list中添加存储库。列出以下几行: deb、http://us.archive.ubuntu.com/ubuntu/、异种主宇宙、deb-src、http://us.archive.ubuntu.com/ubuntu/、异种主宇宙运行sudo apt-get update。然后使用以下方式安装软件包: sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-2.0-dev libsdl1.2debian libart-2.0-dev libaudiofile dev\ libesd0-dev libdirectfb-dev libfreetype6-dev \ libxext-dev x11proto-xext-dev libaa1 libaa1-dev libslang2-dev libasound2 libasound2

  3. 现在解压缩下载的libgraph-1.0.2.tar.gz文件。
  4. 转到解压缩的文件夹并运行以下命令:./配置/usr/local/lib/libgraph.* /usr/lib
  5. 现在您可以在Ubuntu和程序中的以下行上使用#include<graphics.h>: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演示-lgraph
  • 要运行./demo类型

使用OpenGL (通过过剩)

虽然OpenGL基本上是为3D编程而制作的,但绘制2D图形给出了OpenGL的基本轮廓和介绍,并给出了如何在OpenGL中开始绘制对象的想法。

  • 若要安装过剩,请打开终端并键入sudo apt-get install freeglut3-dev
  • 下面是一个简单的图形程序,它使用的是
代码语言:javascript
复制
/*  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编译它
  • 使用./demo运行它
票数 36
EN

Ask Ubuntu用户

发布于 2015-01-28 11:19:35

如果您想在ubuntu或任何其他linux发行版中使用graphics.h,那么我更喜欢libxbgi。它可以做几乎所有的事情,你希望从图形。h窗口。您可以从这里下载:http://libxbgi.sourceforge.net/

否则,如果你想要做一些高端的图形,那么你在那里的SDL(这主要是为编程视频游戏)和OpenGL(是为3D图形)。你也可以使用两者的混合物。一个例子是游戏briquolo(拼写可能是错误的)。

图形编程快乐!!

票数 4
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/525051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档