使用PHP 5.0创建图形的巧妙方法

yipeiwu_com6年前PHP代码库
我将图形编辑程序分为两类:一类(是)绘图程序,利用这种程序可以一个像素一个像素(地)绘制图像;另外一类(是)制图程序,这种程序提供了一组对象,例如线、椭圆和矩形,您可以使用这些对象来组合成一幅大图像,例如 JPEG。绘图程序非常适合进行像素级(的)控制。但(是)对于业务图形来说,制图程序(是)比较好(的)方式,因为大部分图形都(是)由矩形、线和椭圆组成(的)。

  PHP 内置(的)制图基本操作与绘图程序非常类似。它们对于绘制图像来说功能非常强大;但(是)如果您希望自己(的)图像(是)一组对象集合时,这(就)不太适合了。本文将向您展示如何在 PHP 图形库(的)基础上构建一个面向对象(的)图形库。您将使用 PHP V5 中提供(的)面向对象(的)扩展。

  具有面向对象(的)图形支持之后,您(的)图形代码(就)非常容易理解和维护了。您可能还需要从一种单一(的)图形源将图形合成为多种类型(的)媒介:Flash 电影、SVG 等等。

  目标

  创建一个图形对象库包括 3 个主要(的)目标:

  从基本操作切换到对象上

  它不使用 imageline、imagefilledrectangle 以及其他图形函数,这个库应该提供一些对象,例如 Line、Rectangle 和 Oval,它们可以用来制作图像。它应该还可以支持构建更大(的)复杂对象或对对象进行分组(的)功能。

  可以进行 z 值排序

  制图程序让画家可以在画面表面上上下移动图形对象。这个库应该可以支持将一个对象放到其他对象前后(的)功能:它使用了一个 z 值,用来定义对象从制图平面开始(的)高度。z 值越大(的)对象被画(得)越晚,(也就)出现在那些 z 值较小(的)对象之上。

相关文章

php继承中方法重载(覆盖)的应用场合

本文实例分析了php继承中方法重载(覆盖)的应用场合。分享给大家供大家参考。具体分析如下: 方法重载(override)/覆盖——在什么情况下使用:当父类知道所有的子类都需要用到一个方法...

实现在同一方法中获取当前方法中新赋值的session值解决方法

项目开发中遇到这样一个问题,在同一方法中对session数组进行赋值,但是想在此方法中接着使用此session,因为我是用的if…elseif…,由于排斥作用,在if条件中给sessio...

PHP中使用mktime获取时间戳的一个黑色幽默分析

下面这段代码是网上大多数人给出的时间戳现实,这个一看便知只能说是取得当前日期,而不能算是时间戳,不用多解释了吧! 复制代码 代码如下: $now = mktime(0,0,0,date(...

php jq jquery getJSON跨域提交数据完整版

前端请求端: 复制代码 代码如下: <script> $(function() { $.getJSON('http://test.com/aa.php?callback=?'...

PHP利用func_get_args和func_num_args函数实现函数重载实例

本文实例讲述了PHP利用func_get_args和func_num_args函数实现函数重载的方法。分享给大家供大家参考。具体方法分析如下: 学习php的朋友都知道php本身是没有函数...