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 相关文章推荐
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
Jun 05 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
解决file_get_contents无法请求https连接的方法
Dec 17 PHP
php 购物车完整实现代码
Jun 05 PHP
php实现微信公众号无限群发
Oct 11 PHP
PHP递归创建多级目录
Nov 05 PHP
Yii2简单实现多语言配置的方法
Jul 23 PHP
实现php删除链表中重复的结点
Sep 27 PHP
php layui实现前端多图上传实例
Jul 30 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 PHP
jQuery+PHP实现图片上传并提交功能
Jul 27 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权重计算方法代码分享
2014/01/09 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
js 多浏览器分别判断代码
2010/04/01 Javascript
JavaScript prototype属性使用说明
2010/05/13 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
分析javascript原型及原型链
2018/03/18 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
2019/04/24 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
js实现简单的倒计时
2021/01/28 Javascript
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
python生成器表达式和列表解析
2016/03/10 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
用Python逐行分析文件方法
2019/01/28 Python
python分布式计算dispy的使用详解
2019/12/22 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
优秀研究生主要事迹
2014/06/03 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
python微信智能AI机器人实现多种支付方式
2022/04/12 Python