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 相关文章推荐
其他功能
Oct 09 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
php数组操作之键名比较与差集、交集赋值的方法
Nov 10 PHP
自己写的php中文截取函数mb_strlen和mb_substr
Feb 09 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
Apr 15 PHP
WordPress过滤垃圾评论的几种主要方法小结
Jul 11 PHP
浅谈PHP中关于foreach使用引用变量的坑
Nov 14 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP whois查询类定义与用法示例
Apr 03 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 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
人族 TERRAN 概述
2020/03/14 星际争霸
BBS(php &amp; mysql)完整版(一)
2006/10/09 PHP
php随机抽奖实例分析
2015/03/04 PHP
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
jquery弹出框插件jquery.ui.dialog用法分析
2016/08/20 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
JS实现的tab切换选项卡效果示例
2017/02/28 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
谈谈python中GUI的选择
2018/03/01 Python
为什么Python中没有&quot;a++&quot;这种写法
2018/11/27 Python
Python3简单实现串口通信的方法
2019/06/12 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
Python基于requests库爬取网站信息
2020/03/02 Python
零基础学python应该从哪里入手
2020/08/11 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
介绍一下Ruby的多线程处理
2013/02/01 面试题
售后求职信范文
2014/03/15 职场文书
房产协议书范本2014
2014/09/30 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
《植树问题》教学反思
2016/03/03 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript