使用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 数组实例说明
Aug 18 PHP
一道关于php变量引用的面试题
Aug 08 PHP
Fine Uploader文件上传组件应用介绍
Jan 06 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
Jul 04 PHP
Yii分页用法实例详解
Dec 04 PHP
php数组使用规则分析
Feb 27 PHP
php筛选不存在的图片资源
Apr 28 PHP
php文件包含目录配置open_basedir的使用与性能详解
Apr 03 PHP
ThinkPHP框架实现数据增删改
May 07 PHP
PHP FileSystem 文件系统常用api整理总结
Jul 12 PHP
laravel5.1 ajax post 传值_token示例
Oct 24 PHP
PHP对接阿里云虚拟号的实现(号码隐私保护)
Apr 06 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面向对象程序设计之接口用法
2014/08/20 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
Python入门篇之列表和元组
2014/10/17 Python
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
python判断完全平方数的方法
2018/11/13 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
python类的实例化问题解决
2019/08/31 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
群众路线剖析材料
2014/02/02 职场文书
小学生作文评语集锦
2014/12/25 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
Python使用openpyxl批量处理数据
2021/06/23 Python
MySql数据库触发器使用教程
2022/06/01 MySQL