Linux使用graphics.h图形库绘图

本文详细介绍了如何在Linux环境下手动编译并安装libgraph库,以便在Ubuntu系统中使用类似TurboC的graphics.h图形库。通过下载源码,安装依赖,配置、编译和安装库,最后编写并运行一个简单的C程序,展示了在Linux上实现图形功能的步骤。
摘要由CSDN通过智能技术生成

graphics.h是上古时代C语言程序开发工具Turbo C的图形库,主要在Dos环境下使用。在现代图形库的发展下逐渐被淘汰。graphics.h具有像素函数、线型函数、多边形函数、曲线函数、填充函数、图像函数等函数类型,简单和易用,学习成本低,简单的做出任何2d图像。

对于linux,需要手动编译库来使用
linux使用graphics库的方法:
首先下载libgraph
libgraph源码下载地址:http://download.savannah.gnu.org/releases/libgraph/
解压,进入源码目录

tar -xzvf libgraph-1.0.2.tar.gz 
cd libgraph-1.0.2/

安装依赖项

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

编译安装

./configure
make
sudo make install

之后在/usr/local/include/目录和/usr/local/lib/目录下安装了graphics.h相关的头文件以及libgraph库。使用pkg-config命令能够查看他们的编译链接参数

pkg-config --cflags --libs libgraph
-I/usr/local/include -L/usr/local/lib -lgraph

编辑一个测试程序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);//延迟5000ms
   closegraph();//关闭图形结束程序
   return 0;
}

编译运行,编译时加-lgraph参数,链接到libgraph库

gcc demo.c -lgraph
./a.out

在这里插入图片描述


参考文章:
如何在Ubuntu中使用graphics.h?

源码:
libgraph-1.0.2.tar.gz.7z

我在linux已经编译好的库:
graphics-build.tar.gz
编译器版本:

g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5) 

操作系统:

lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 7.0 (wheezy)
Release:	7.0
Codename:	wheezy
  • 3
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百口可乐__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值