php使用gd2绘制基本图形示例(直线、圆、正方形)


Posted in PHP onFebruary 15, 2017

本文实例讲述了php使用gd2绘制基本图形。分享给大家供大家参考,具体如下:

应用GD2函数可以绘制的图形有多种,最基本的图形包括条、圆、方形等。无论开发人员绘制多么复杂的图形,都是在这些最基本的图形的基础上进行深化的,只有掌握了最基本的图形的绘制方法,才能绘制出各种具有独特风格的图形。

在GD2中可以分别应用imageline()函数、imagearc()函数和imagerectangle()函数绘制直线,圆形和方法。

下面将介绍这些函数的使用方法:

bool imageline( resource image, int x1, int y1, int x2, int y2, int color )

imageline()函数用color颜色在图像image中从坐标(x1,y1)到(x2,y2)(图像左上角为(0,0))绘制一条线段。

bool imagearc( resource image, int cx, int cy, int w, int h, int s, int e, int color)

image : 表示图像的handle
cx,cy 原点坐标(0,0)为图片的左上角,参数cx,cy为椭圆圆心坐标
w,h分别为水平轴长和垂直轴长
s,e分别为起始角与结束角
color为弧线的颜色

bool imagerectangle( resource image, int x1, int y1, int x2, int y2, int color)

imagerectangle()函数以color颜色在image图像中绘制一个矩形,其左上角坐标为( x1,y1),右下角坐标为( x2, y2)。图像的左上角坐标为(0,0)

例如应用以上函数,分别绘制直线、正圆和正方形,并且以白色作为线条的基色,代码如下

<?php
  header("Content-type: image/png");//将图像输出到浏览器
  $img = imagecreate(560, 200);//创建一个560X200像素的图像
  $bg = imagecolorallocate($img, 0, 0, 255);//设置图像的背景颜色
  $white = imagecolorallocate($img, 255, 255, 255);//设置绘制图像的线的颜色
  imageline($img, 20, 20, 150, 180, $white);//绘制一条线
  imagearc($img, 250, 100, 150, 150, 0, 360, $white);//绘制一个圆
  imagerectangle($img, 350, 20, 500, 170, $white);//绘制一个正方形
  imagepng($img);//以PNG格式输出图像
  imagedestroy($img);//释放资源

运行结果如下:

php使用gd2绘制基本图形示例(直线、圆、正方形)

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
两种php调用Java对象的方法
Oct 09 PHP
php入门学习知识点三 PHP上传
Jul 14 PHP
php中session过期时间设置及session回收机制介绍
May 05 PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
9个实用的PHP代码片段分享
Jan 22 PHP
php调整服务器时间的方法
Apr 03 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
May 27 PHP
PHP预定义变量9大超全局数组用法详解
Apr 23 PHP
PHP实现的简单分页类及用法示例
May 06 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 04 PHP
php使用GD2绘制几何图形示例
Feb 15 #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
You might like
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
PHP 文件上传限制问题
2019/09/01 PHP
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
Python转换HTML到Text纯文本的方法
2015/01/15 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
大学专科生推荐信范文
2013/11/23 职场文书
《秋游》教学反思
2014/04/24 职场文书
五水共治一句话承诺
2014/05/30 职场文书
生日寿星公答谢词
2015/09/29 职场文书
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android
vue实现在data里引入相对路径
2022/06/05 Vue.js