php使用GD2绘制几何图形示例


Posted in PHP onFebruary 15, 2017

本文实例讲述了php使用GD2绘制几何图形的方法。分享给大家供大家参考,具体如下:

使用GD2函数不仅可以绘制线条图形,而且可以绘制填充图形,如填充圆形,填充矩形等。下面对GD2中常用的填充图形的绘制方法进行介绍。

bool imagefill( resource image, int x, int y, int color )

imagefill()函数在image图像的坐标( x, y ) (图像的左上角为(0,0))处用color颜色执行区域填充(即与(x,y)点颜色相同切相邻的点都会被填充)。

bool imagefilledarc ( resource image , int cx , int cy , int w , int h , int s , int e , int color , int style )

imagefilledarc() 在 image 所代表的图像中以 cx,cy(图像左上角为 0, 0)画一椭圆弧。成功时返回 TRUE, 或者在失败时返回 FALSE.w 和 h 分别指定了椭圆的宽和高,s 和 e 参数以角度指定了起始和结束点。style 可以是下列值按位或(OR)后的值:

IMG_ARC_PIE
IMG_ARC_CHORD
IMG_ARC_NOFILL
IMG_ARC_EDGED

IMG_ARC_PIE 和 IMG_ARC_CHORD 是互斥的;IMG_ARC_CHORD 只是用直线连接了起始和结束点,IMG_ARC_PIE 则产生圆形边界(如果两个都用,IMG_ARC_CHORD生效)。IMG_ARC_NOFILL 指明弧或弦只有轮廓,不填充。IMG_ARC_EDGED 指明用直线将起始和结束点与中心点相连,和 IMG_ARC_NOFILL 一起使用是画饼状图轮廓的好方法(而不用填充)。

bool imagefilledellipse ( resource image , int cx , int cy , int w , int h , int color )

imagefilledellipse() 在 image 所代表的图像中以 cx,cy(图像左上角为 0, 0)为中心画一个椭圆。w 和 h 分别指定了椭圆的宽和高。椭圆用 color 颜色填充。成功时返回 TRUE, 或者在失败时返回 FALSE.

bool imagefilledrectangle( resource image, int x1, int y1, int x2, int y2, int color )

该函数在image图像中绘制一个用color颜色填充了的矩形, 其左上角坐标为(x1, y1),右下角的坐标为(x2, y2)。(0,0)为图像的左上角。

例如:应用如上函数,绘制填充圆形和填充正方形,代码如下

<?php
  header("Content-type: image/png");//将图像输出到浏览器
  $img = imagecreate(400, 200);//创建一个400X200的画布
  $bg = imagecolorallocate($img, 0, 0, 255);//设置背景颜色
  $white = imagecolorallocate($img, 255, 255 ,255);//设置填充颜色
  imagefilledellipse($img, 100, 100, 150, 150, $white);//绘制填充圆形
  imagefilledrectangle($img, 200, 50, 300, 150, $white);//绘制填充正方形
  imagepng($img);//以png格式输出图像
  imagedestroy($img);//释放资源

运行结果如下所示

php使用GD2绘制几何图形示例

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
hessian 在PHP中的使用介绍
Dec 13 PHP
php判断终端是手机还是电脑访问网站的思路及代码
Apr 24 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
php的数组与字符串的转换函数整理汇总
Jul 18 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
PHP+javascript制作带提示的验证码源码分享
May 28 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
Jun 10 PHP
PHP实现的杨辉三角求解算法分析
Mar 11 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
Jun 12 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
Feb 15 #PHP
php使用Jpgraph创建折线图效果示例
Feb 15 #PHP
php使用Jpgraph创建3D饼形图效果示例
Feb 15 #PHP
PHP反射机制原理与用法详解
Feb 15 #PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 #PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
Feb 15 #PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 #PHP
You might like
PHP学习之字符串比较和查找
2011/04/17 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
初识Laravel
2014/10/30 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
js实现div闪烁原理及实现代码
2014/06/24 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
javascript实现简单的全选和反选功能
2016/01/05 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
JS实现双击内容变为可编辑状态
2017/03/03 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
django解决跨域请求的问题
2018/11/11 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
python通过实例讲解反射机制
2019/10/17 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
存储过程和函数的区别
2013/05/28 面试题
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
网站客服岗位职责
2014/04/05 职场文书