使用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 相关文章推荐
BBS(php & mysql)完整版(三)
Oct 09 PHP
php 归并排序 数组交集
May 10 PHP
php若干单维数组遍历方法的比较
Sep 20 PHP
基于php 随机数的深入理解
Jun 05 PHP
php身份证号码检查类实例
Jun 18 PHP
基于命令行执行带参数的php脚本并取得参数的方法
Jan 25 PHP
php图片上传类 附调用方法
May 15 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
Aug 03 PHP
PHP实现与java 通信的插件使用教程
Aug 11 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 PHP
PHP基本语法
Mar 31 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
使用无限生命期Session的方法
2006/10/09 PHP
php4的session功能评述(一)
2006/10/09 PHP
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
2013/05/10 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
jquery 与NVelocity 产生冲突的解决方法
2011/06/13 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
vue 巧用过渡效果(小结)
2018/09/22 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
Python获取系统默认字符编码的方法
2015/06/04 Python
Pycharm学习教程(1) 定制外观
2017/05/02 Python
python编写Logistic逻辑回归
2020/12/30 Python
python调用java的jar包方法
2018/12/15 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
Django缓存Cache使用详解
2020/11/30 Python
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
软件工程师面试题
2012/06/25 面试题
环境科学专业个人求职信
2013/09/26 职场文书
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
开门红主持词
2014/04/02 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
Python机器学习之PCA降维算法详解
2021/05/19 Python
Python集合的基础操作
2021/11/01 Python