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 相关文章推荐
利用static实现表格的颜色隔行显示
Oct 09 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
Jun 25 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
PHP图片处理之图片背景、画布操作
Nov 19 PHP
thinkphp使用literal防止模板标签被解析的方法
Nov 22 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
May 25 PHP
php 如何禁用eval() 函数实例详解
Dec 01 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 PHP
PHP实现字符串大小写转函数的功能实例
Feb 06 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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屏蔽关键字实现方法
2016/11/17 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
PDO::quote讲解
2019/01/29 PHP
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
layui的select联动实现代码
2019/09/28 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
Python实现GUI学生信息管理系统
2020/04/05 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
python将txt文件读取为字典的示例
2018/12/22 Python
python实现统计代码行数的小工具
2019/09/19 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
2021/01/28 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
银行实习鉴定
2013/12/13 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
美容院管理规章制度
2015/08/05 职场文书
健康教育主题班会
2015/08/14 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
总结一些Java常用的加密算法
2021/06/11 Java/Android
分享python函数常见关键字
2022/04/26 Python