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

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

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

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

  目标

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

  从基本操作切换到对象上

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

  可以进行 z 值排序

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

相关文章

解析yii数据库的增删查改

1. 存取数据库方法存储第一种存表时候用到例子:复制代码 代码如下:$post=new Post;$post->title='samplepost';$post->conte...

Thinkphp中import的几个用法详细介绍

下面附上import的几个用法介绍 1、用法一 import('@.Test.Translate'); @,表示项目根目录。假定根目录是:App/ 导入类库的路径是:App/Lib/Te...

discuz图片顺序混乱解决方案

discuz图片顺序混乱解决方案

说明 discuz在发表帖子的时候,添加多张图片,然后直接发表帖子,图片顺序有时候会乱掉 即使上传图片窗口中图片顺序正确,发布之后还是会乱掉 分析 看url,程序代码中看不出什么 将图片...

php中get_meta_tags()、CURL与user-agent用法分析

本文实例分析了php中get_meta_tags()、CURL与user-agent用法。分享给大家供大家参考。具体分析如下: get_meta_tags()函数用于抓取网页中<m...

基于flush()不能按顺序输出时的解决办法

如果是在linux下, 首先确认是否添加 ob_start() 和 ob_flush().复制代码 代码如下:ob_start();for ($i=1; $i<=10; $i++)...