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


Posted in PHP onOctober 12, 2010

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

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

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

目标

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

从基本操作切换到对象上

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

可以进行 z 值排序

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

PHP 相关文章推荐
php 数组使用详解 推荐
Jun 02 PHP
PHP中的错误处理、异常处理机制分析
May 07 PHP
mac环境中使用brew安装php5.5.15
Aug 18 PHP
php读取目录及子目录下所有文件名的方法
Oct 20 PHP
PHP判断浏览器、判断语言代码分享
Mar 05 PHP
屏蔽PHP默认设置中的Notice警告的方法
May 20 PHP
PHP房贷计算器实例代码,等额本息,等额本金
Apr 01 PHP
PHP分享图片的生成方法
Apr 25 PHP
phpMyAdmin通过密码漏洞留后门文件
Nov 20 PHP
php fread函数使用方法总结
May 28 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 #PHP
献给php初学者(入门学习经验谈)
Oct 12 #PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 #PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
Oct 12 #PHP
利用php+mysql来做一个功能强大的在线计算器
Oct 12 #PHP
发一个php简单的伪原创程序,配合商城采集用的
Oct 12 #PHP
php知道与问问的采集插件代码
Oct 12 #PHP
You might like
php 不使用js实现页面跳转
2014/02/11 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
php对数组排序代码分享
2014/02/24 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
JS 在指定数组中随机取出N个不重复的数据
2014/06/10 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
基于Python pip用国内镜像下载的方法
2018/06/12 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
python实现大转盘抽奖效果
2019/01/22 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
Python Web程序搭建简单的Web服务器
2019/07/31 Python
python的常见矩阵运算(小结)
2019/08/07 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
草莓网官网:StrawberryNET
2019/08/21 全球购物
UNIX文件系统常用命令
2012/05/25 面试题
大学生收银员求职信分享
2014/01/02 职场文书
工程项目建议书范文
2014/03/12 职场文书
2014年绿化工作总结
2014/12/09 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
物业公司管理制度
2015/08/05 职场文书
组织委员竞选稿
2015/11/21 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android