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 相关文章推荐
zend api扩展的php对象的autoload工具
Apr 18 PHP
利用PHP实现图片等比例放大和缩小的方法详解
Jun 06 PHP
解析php dirname()与__FILE__常量的应用
Jun 24 PHP
ThinkPHP视图查询详解
Jun 30 PHP
跟我学Laravel之请求(Request)的生命周期
Oct 15 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
分享PHP计算两个日期相差天数的代码
Dec 23 PHP
支付宝服务窗API接口开发php版本
Jul 20 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
Feb 20 PHP
Laravel5框架自定义错误页面配置操作示例
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
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
PHP生成等比缩略图类和自定义函数分享
2014/06/25 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
JavaScript arguments 多参传值函数
2010/10/24 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
jQuery+jRange实现滑动选取数值范围特效
2015/03/14 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
如何编写jquery插件
2017/03/29 jQuery
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
python爬虫正则表达式之处理换行符
2018/06/08 Python
python opencv读mp4视频的实例
2018/12/07 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
详解python中的数据类型和控制流
2019/08/08 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
python中xlutils库用法浅析
2020/12/29 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
倩碧美国官网:Clinique美国
2016/07/20 全球购物
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
安全标准化汇报材料
2014/02/03 职场文书
小学敬老月活动方案
2014/02/11 职场文书
差生评语大全
2014/05/04 职场文书
行政求职信
2014/07/04 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
教师读书笔记
2015/06/29 职场文书