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 相关文章推荐
构建简单的Webmail系统
Oct 09 PHP
php仿discuz分页效果代码
Oct 02 PHP
php preg_match_all结合str_replace替换内容中所有img
Oct 11 PHP
PHP设计模式之装饰者模式
Feb 29 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Jun 20 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
Jun 21 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
php使用GeoIP库实例
Jun 27 PHP
日常整理PHP中简单的图形处理(经典)
Oct 26 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
Nov 20 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 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文件下载类
2006/12/06 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
python根据京东商品url获取产品价格
2015/08/09 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
python远程连接MySQL数据库
2019/04/19 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
基于keras中的回调函数用法说明
2020/06/17 Python
钳工实习自我鉴定
2013/09/19 职场文书
护理专科毕业推荐信
2013/11/10 职场文书
如何掌握自荐信格式呢
2013/11/19 职场文书
生物科学专业个人求职信范文
2013/12/07 职场文书
消防安全管理制度
2014/02/01 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
爱国演讲稿500字
2014/05/04 职场文书
主持人开场白台词
2015/05/29 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python