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 相关文章推荐
理解PHP5中static和const关键字的区别
Mar 19 PHP
一步一步学习PHP(3) php 函数
Feb 15 PHP
php设计模式 Template (模板模式)
Jun 26 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
Jun 03 PHP
PHP中HTML标签过滤技巧
Jan 07 PHP
php中smarty区域循环的方法
Jun 11 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
Oct 21 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
PHP的简单跳转提示的实现详解
Mar 14 PHP
PHP CURL使用详解
Mar 21 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
php7中停止php-fpm服务的方法详解
May 09 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制作静态网站的模板框架
2006/10/09 PHP
谈谈PHP语法(2)
2006/10/09 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
PHP 中常量的知识整理
2017/04/14 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
原生js实现自定义消息提示框
2020/11/19 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
Python中__new__与__init__方法的区别详解
2015/05/04 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
python每5分钟从kafka中提取数据的例子
2019/12/23 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
物理研修随笔感言
2014/02/14 职场文书
《恐龙》教学反思
2014/04/27 职场文书
考试保密承诺书
2014/08/30 职场文书
教你用eclipse连接mysql数据库
2021/04/22 MySQL