版权归原作者所有,如有侵权,请联系我们

[科普中国]-图形程序设计库

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

图形程序设计库是指用来进行图形处理和创建图形的函数集合。图形程序设计库是一种程序库,图形程序设计库包含了基本绘图函数和图形处理函数,一般作为接口,供软件设计人员调用。图形程序设计库的出现降低软件的图形化的界面设计的难度,图形程序设计库主要应用在图形编程中。图形程序设计库有时也可以称作图形库。

有关术语程序库有组织程序的集合。 它包括各种标准程序、标准子程序和服务性程序。一个较完备的程序库至少包含有数百个标准程序。标准子程序是初等函数计算程序,比较短,质 量很高,使用频繁。在地图制图自动化系统中,常建立初等函数运算程序库、基本绘图程序库、数学程序库等。

应用程序接口应用程序接口又称为应用编程接口,是一组定义、程序及协议的集合,通过 API接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。API同时也是一种中间件,为各种不同平台提供数据共享。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。根据单个或分布式平台上不同软件应用程序间的数据共享性能,可以将 API 分为四种类型:1.远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。2.标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。3.文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。4.信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。

图形库图形库是一个用于在显示器上渲染计算机图形的程序库。它通常提供一组经过优化的函数来执行常见的渲染任务。这些任务通常可以完全在软件层面上解决,使用CPU进行计算,常见于嵌入式系统;或者由一枚GPU进行硬件加速,常见于家用计算机。使用这些函数,一个程序可以组合成一张图像在显示器上输出。这样,便解除了程序员创建和优化这些函数的负担,使得他们得以专注于构造图形程序。

Mesa 3DMesa 3D是一个在MIT许可证下开放源代码的三维计算机图形库,以开源形式实现了OpenGL的应用程序接口。OpenGL的高效实现一般依赖于显示设备厂商提供的硬件,而Mesa 3D是一个纯基于软件的图形应用程序接口。由于许可证的原因,它只声称是一个“类似”于OpenGL的应用程序接口。由于Mesa 3D的API是和OpenGL相同,具体的OpenGL版本浏览Mesa 3D官方网站,我们可以这么认为它就是OpenGL的软件模拟GPU光栅处理器的一个实现。我们知道如果要实现一个OpenGL,其本身是一个设备器,不能实现窗体的透明,如果我想要实现窗体透明,又想要有3D的应用,可以试试它。

CairoCairo是一个让用于提供向量图形绘图的自由库,cairo提供在多个背景下做2-D的绘图,高级的更可以使用硬件加速功能。虽然cairo是使用C语言撰写的,但是当使用cairo时,可以用许多其他种语言来使用,包括有C++、C#、Java、Python、Perl、Ruby、Scheme、Smalltalk以及许多种语言[3],cairo在GNU宽通用公共许可证与Mozilla公共许可证两种许可协议下发行。

Turbo C 的有关图形函数detectgraph( ) ; 显示卡检测函数

getdrivername( ); 获取图形驱动程序名片的指针

getgraphmode( ) ; 获取图形模式函数

getmoderange( ); 获取模式值范围函数

getmaxmode( ); 获取最大显示模式函数

getmodename( ); 获取显示模式名函数

graphdefaults( ); 图形设置复位缺省值函数

setgraphmode( ); 设置图形模式函数

restorecrtmode( ); 恢复文本显示模式函数

graphresult( ); 图形操作结果函数

grpaherrormsg( ); 图形错误信息函数

setgraphbufsize( ); 设置图形缓冲区大小函 数

setactivepage( ); 设置可输出显示页函数

setvisualpage( ); 设置可见显示页数

closegraph( ); 关闭图形模式函数

Turbo C 还提供了大量的视频显示函数,利用这些函数,可以画出各种图形,而无需考虑对视频内存的访问,只要给出适当的坐标,就可以在屏幕的任何位置给出信息。坐标位置与视濒内存地址的转换由视频函数自动完成。常用的图形函数如下:

setpalette( ); 设置调色板函数

setallpalette( );设置整个调色板函

setbackcolor( ); 设置背景颜色函数

setcolor( ); 设置颜色函数

getbkcolor( ); 返回背景色函数

getcolor( ); 返回当前绘图颜色

getmaxcolor( ); 返回最大颜色值函数

getpalette( ); 获取调色板函数

getpalettesize( ); 返回调色板大小函数

getdefaultpalette( ); 获取缺省调色板函数