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
基于文本的留言簿
Oct 09 PHP
用php将任何格式视频转为flv的代码
Sep 03 PHP
php绝对路径与相对路径之间关系的的分析
Mar 03 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
Jun 09 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
解析func_num_args与func_get_args函数的使用
Jun 24 PHP
YII动态模型(动态表名)支持分析
Mar 29 PHP
php array_multisort 对数组进行排序详解及实例代码
Oct 27 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
Mar 07 PHP
php实现JWT验证的实例教程
Nov 26 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 代码优化的42条建议 推荐
2009/09/25 PHP
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
PHP数组操作简单案例分析
2016/10/15 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
js实现的早期滑动门菜单效果代码
2015/08/27 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
2015/11/17 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
npm全局环境变量配置详解
2020/12/15 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
python 实时调取摄像头的示例代码
2020/11/25 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
html5使用canvas画三角形
2014/12/15 HTML / CSS
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
中专生自荐信
2013/10/12 职场文书
大二学期个人自我评价
2014/01/13 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
小学生秋游活动方案
2014/02/23 职场文书
儿童生日会策划方案
2014/05/15 职场文书
出生医学证明书
2014/09/15 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
中学生运动会广播稿
2015/08/19 职场文书
vue递归实现树形组件
2022/07/15 Vue.js
LeetCode189轮转数组python示例
2022/08/05 Python