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 购物车的例子
May 04 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
Jun 21 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
ThinkPHP实现支付宝接口功能实例
Dec 02 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 PHP
浅谈PHP中new self()和new static()的区别
Aug 11 PHP
PHP清除缓存的几种方法总结
Sep 12 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
Oct 16 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
Oct 30 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 更新数据库中断的解决方法
2009/06/05 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
深入解析PHP中逗号与点号的区别
2013/08/05 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
phpstorm编辑器乱码问题解决
2014/12/01 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
JavaScript学习点滴 call、apply的区别
2010/10/22 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
Python 功能和特点(新手必学)
2015/12/30 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
python hough变换检测直线的实现方法
2019/07/12 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
售后主管岗位职责
2013/12/08 职场文书
教师产假请假条范文
2014/04/10 职场文书
刑事代理授权委托书
2014/09/17 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
学校标语口号大全
2015/12/26 职场文书