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 相关文章推荐
php4的彩蛋
Oct 09 PHP
PHP 5.0 Pear安装方法
Dec 06 PHP
了解Joomla 这款来自国外的php网站管理系统
Mar 11 PHP
php中使用redis队列操作实例代码
Feb 07 PHP
php操作mysqli(示例代码)
Oct 28 PHP
php字符编码转换之gb2312转为utf8
Oct 28 PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
Jul 25 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
Mar 23 PHP
smarty中改进truncate使其支持中文的方法
May 30 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
Mar 11 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 curl模拟登录带验证码的网站
2015/11/30 PHP
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
jquery和css3实现的炫酷时尚的菜单导航
2014/09/01 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
python 字符串格式化代码
2013/03/17 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
python实现杨辉三角思路
2017/07/14 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
Ajax和javascript的区别
2013/07/20 面试题
J2EE模式面试题
2016/10/11 面试题
公关活动策划方案
2014/05/25 职场文书
软件售后服务方案
2014/05/29 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
大学生见习报告范文
2014/11/03 职场文书
2014年双拥工作总结
2014/11/21 职场文书
2014年政工师工作总结
2014/12/18 职场文书
捐书活动倡议书
2015/04/27 职场文书
捐书仪式主持词
2015/07/04 职场文书
三八妇女节主持词
2015/07/04 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
《比尾巴》教学反思
2016/02/24 职场文书