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 相关文章推荐
模仿OSO的论坛(二)
Oct 09 PHP
用PHP读取flv文件的播放时间长度
Sep 03 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
Dec 02 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
Aug 22 PHP
php的ZipArchive类用法实例
Oct 20 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
php set_include_path函数设置 include_path 配置选项
Oct 30 PHP
php实现URL加密解密的方法
Nov 17 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
3.从实例开始
2006/10/09 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
Javascript window对象详解
2014/11/12 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
深入理解JavaScript单体内置对象
2016/06/06 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
联想中国官方商城:Lenovo China
2017/10/18 全球购物
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
房屋租赁协议书范本
2014/04/10 职场文书
一岗双责责任书
2014/04/15 职场文书
消防安全承诺书
2014/05/22 职场文书
爱晚亭导游词
2015/02/09 职场文书
学习党章心得体会2016
2016/01/15 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
python字典的元素访问实例详解
2021/07/21 Python
在容器中使用nginx搭建上传下载服务器
2022/05/11 Servers