《毕业论文(设计):PHP脚本动态生成图形的方法研究》由会员分享,可在线阅读,更多相关《毕业论文(设计):PHP脚本动态生成图形的方法研究(26页珍藏版)》请在金锄头文库上搜索。
1、本本科生毕业设计科生毕业设计(论文论文)题题 目目 PHP 脚本动态生成图形的方法研究 学学 院院 计算机学院与信息工程学院 专专 业业 计算机科学与技术 班级班级024 班 姓姓 名名学号学号024632293 指指导导教教师师 职称职称副教授 2006 年年 5 月月 30 日日新疆农业大学教务处制新疆农业大学教务处制目目 录录摘要 1 前言 2 1 动态图形实现技术的简介2 1.1 PHP 简介2 1.2 GD 图形库简介 3 1.3 JpGraph 类库简介3 2 开发平台及组件安装说明4 2.1 开发平台4 2.2 组件安装简介4 2.2.1 GD 图形库安装简 介4 2.2.2 J
2、pGraph类库安装简介4 2.2.3 JpGraph 类库文件说明5 3 动态图形的实现6 3.1 总体设计思想6 3.2 数据库设计6 3.3 利用 GD 图形函数库绘制动态图形7 3.4 利用第三方类库JpGraph绘制动态图形11 3.5 两个组件实用性总结对比14 3.5.1 GD 图形函数库 143.5.2 JpGraph 类 库14 4 结论 16 谢辞 17 参考文献 18 附录 191PHPPHP 脚本动态生成图形的方法研究脚本动态生成图形的方法研究摘要:摘要:本文对 Linux 服务器环境下利用 PHP 脚本动态生成图形的方 法进行了一些研究,分别分析了利用 GD 图形库生
3、成动态图形的方法, 及利用 JpGraph 类库生成动态图形的方法,实现了通过 PHP 脚本绘 制出柱状图、折线图和饼图,并给出了实现过程。 关键词:关键词:PHP;GD 库;JpGraphResearch on Dynamically Graph Generation with PHPChen Juan-JuanAbstract: This article conducted some research to the method of using the PHP script dynamic production graph under the Linux server environme
4、nt, analyzed the method used the GD graph library production graph of dynamic, and analyzed the method using the JpGraph library production graph of dynamic, drew up the stick plot, the line chart and the cake chart through the PHP script has been realized, and has given the realization process.Key
5、words: PHP;GD library;JpGraph前言2当今社会正处于网络时代, 信息化大潮席卷全球, Internet正日益向社会 每一个角落延伸。随着WWW浏览器技术的不断成熟,利用ASP、PHP、JSP技术制 作的动态网页也越来越多,在Internet上,有大量的数据信息,尤其是在一些 商业网站上,经常会应用户不同要求对有关数据做出统计, 动态输出各种统计 图, 用于显示一些市场的销售报告、供应需求信息或者股票市场的大盘信息。 这些图形蕴含的数据库数据是动态的, 而图形显示的结果是静态的,如何实现这 些动态统计图形在网页上的显示,这是现在基于Internet的动态图形一个难点 问
6、题。 目前主要是利用不断成熟的WWW浏览器技术来开发动态网页,最流行也是比 较成熟的有ASP、PHP、JSP技术,它们都提供在HTML代码中混合某种程序代码、 由语言引擎解释执行程序代码的能力。在ASP、PHP、或JSP环境下,HTML代码主 要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。他们都是利用 内置或第三方组件对数据库或其它数据库进行访问,依据结果产生动态网页, 发送到客户端,由浏览器解释显示结果,显示结果一般是表格形式。如果采用 统计图形(柱状图、折线图、饼图等)方式输出结果, 则不能直接生成网页, 而要把结果提交给可以输出图表的组件, 再由组件完成图形输出。 由于PHP是
7、一种服务器端、跨平台、HTML嵌入式的脚本语言,易学易用,支 持大量的数据库,程序的执行效率极高,尤其是对MYSQL数据库的存取非常直接、 简练、没有额外的开销。最重要的是完全免费并且提供图形函数库,因而本文 主要针对用PHP语言生成动态图形的方法进行了一些研究,发现了几种图形绘制 的方法。这些方法来自于对两个组件的使用,一个组件是PHP自带的GD图形库, 而另一个是由瑞典人Johan Persson开发的,能方便绘制各种用于商业和科学领 域的图形的第三方组件JpGraph类库。本文用几个常用的图形的实例来展示 了如何利用PHP语言生成动态统计图形。1 动态图形实现技术的简介1.1 PHP简介
8、 PHP 的全名为:“Hypertext Preprocessor” ,它是一种 HTML 内嵌式的脚本语 言,类似于 IIS 上运行的 ASP。PHP 将编写的程序与 HTML 源代码混合在一起, 用一些特殊的标识将语句与 HTML 代码分开,当用户对此网页发出浏览请求时 在服务器端将标识内的语句运行完,把运行结果与 HTML 代码合为一体返回给 用户端的浏览器,其工作方式如图 1-1 所示。图 1-1 PHP 工作方式示意图PHP 使用了自己独特的语法,是一种混合了 C、Java、Perl 以及结合 Web 应用的独特性而产生的新语法。这种语法基本是以 C 的语法模式来书写,但是3没有 C
9、 语言那么严格,同时和 Java 一样是一种解释性的语言。听起来很是麻烦, 不过只要花一点时间,就会发现 PHP 的语法还是易学易用的。 PHP 语言可以比 CGI 或是 Perl 更快地执行动态网页,原因是 PHP 将自己 编译进 Web 服务器(Apache)内部,同时又以灵活的形式存在于其他 Web 服务 器中。它能够以传统的类似 Perl 的 CGI 解释方式执行,也能够以 ISAPI 方式应 用于 IIS 之中,还能以模块化方式直接与 Apache 一起编译,从而达到同 Apache 一样的高效和稳定。 1.2 GD 图形库简介 GD是一个以C语言源码形式提供的跨平台免费绘图软件包,
10、可以编译成 DOS、Windows、Unix等不同版本,可以在其官方网站进行下载。GD的图形功能 包括在内存中建立绘图对象,设置绘图颜色,画线、画圆和填充矩形、多边形 区域等。表1-1中列举了一些PHP中常用的图形函数:表1-1 常用的图形函数 函数功能ImageArc画弧线ImageLine绘实线ImageColorAllocate匹配颜色ImageCreate建立新图ImageGif建立GIF图形ImageDestroy结束图形ImageFill图形着色ImageFillPolygon多边形区域着色ImageFillToBorder指定颜色区域内着色ImageFilledRectangle
11、添充矩形ImageTTFtext画水平字符1.3 JpGraph类库简介 JpGraph 类库出现于 2002 年 9 月,是由瑞典人 Johan Persson 开发的,他是 一家瑞典私人公司的 CEO 和 CTO。目前 JpGraph 的最新版本是发布于 2006 年 5 月 26 日的 JpGraph1.20.4a 和 JpGraph2.1.2。其实行双重许可证:QPL 1.0 (Qt Free Licensee):为非商业用途、开放源代码及教育用户免费;JpGraph 专业许可 证:为商业用户,并且有额外的特色功能。 JpGraph 项目网站这样描述它:JpGraph 是一个为 PHP
12、(版本高于 PHP4.3.1)面向对象的图形创造的类库,它完全用 PHP 语言编写的,可以在所 有 PHP 脚本中使用(PHP 的 CGI/APXS/CLI 两个版本都支持) 。使用这个库可以 创造许多类型图形,可以是在线创建或写在文件里创建好再调用。无论是对于 只有最少代码的“以快捷或不恰当方式获得的图形” ,还是对于需要非常细微控 制的复杂专业图形,JpGraph 都可以使它们的绘制变得简单。它同样适用于科 学和商业类型的图形。JpGraph 分发版中包含大量可以根据特定需求进行定制 的示例脚本。将 JpGraph 用于数据研究工具非常简单,只需找到功能与需求类 似的示例脚本,然后对该脚本
13、进行改写以满足特定需求即可。4JpGraph的最大的特点就是易学易用,它使得作图变成了一件非常简单的事 情,只需从数据库中取出相关数据,定义标题,图形类型,剩下的事情就交给 JpGraph,只需掌握为数不多的JpGraph内置函数,就可以画出非常炫目的图形。2 开发平台及组件安装说明2.1 开发平台 我用的开发平台是以LinuxRedHat9.0作为操作系统,以Apache2.0为Web服 务器;以MySQL作为后台数据库,包含GD库的PHP作为开发工具。 选用Linux操作系统和MySQL数据库主要是因为它们是开放源代码的操作系 统和数据库,Apache是Internet上使用最广泛的Web
14、服务器,而且它们都是免费 提供的。开放源代码意味着系统的安全性有更好的保障,软件的Bug可以很快的 被修复,新的特性根据需要可以很快的被加上。选择MySQL还是因为它的运行速 度很快,而且MySQL还有容易使用、性能较高、安全性好、可控制性好、移植性 好、开放式开发等特点。所以,我选择了这样的组合来作为开发实验的平台, 它们之间的安装和调试我就不多说了,相关的专业文章有很多,下面就开始进 入实现绘制图形的部分。 2.2 组件安装简介 2.2.1 GD图形库安装简介 PHP首先要加载GD图形库,然后就可以使用图形处理函数了。在Linux下, 要使这些画图函数能够工作,需要进行编译安装,以下是GD图形库在Linux下安 装的大致步骤: (1) 先到官方网站下载最新的版本。 (2) 将所有下载的软件拷贝到同一目