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之第九天
Oct 09 PHP
php面向对象全攻略 (七) 继承性
Sep 30 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
Jun 06 PHP
LotusPhp笔记之:Logger组件的使用方法
May 06 PHP
php设计模式之单例、多例设计模式的应用分析
Jun 30 PHP
实现获取http内容的php函数分享
Feb 16 PHP
摘自织梦CMS的HTTP文件下载类
Aug 08 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 PHP
php如何连接sql server
Oct 16 PHP
Symfony核心类概述
Mar 17 PHP
php 流程控制switch的简单实例
Jun 07 PHP
PDO::getAvailableDrivers讲解
Jan 28 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
SMARTY学习手记
2007/01/04 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
降低PHP Redis内存占用
2017/03/23 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
javascript Ext JS 状态默认存储时间
2009/02/15 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
jquery代码实现简单的随机图片瀑布流效果
2015/04/20 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
Python中非常实用的一些功能和函数分享
2015/02/14 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
python实现简易动态时钟
2018/11/19 Python
python-opencv颜色提取分割方法
2018/12/08 Python
Python字符串对象实现原理详解
2019/07/01 Python
Python代码中如何读取键盘录入的值
2020/05/27 Python
jupyter notebook指定启动目录的方法
2021/03/02 Python
多重CSS背景动画实现方法示例
2014/04/04 HTML / CSS
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
什么是GWT的Module
2013/01/20 面试题
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
司机职责范本
2014/03/08 职场文书
颁奖典礼主持词
2014/03/25 职场文书
劳动者解除劳动合同通知书
2015/04/16 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
vue完美实现el-table列宽自适应
2021/05/08 Vue.js
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL