使用GD2函数绘制几何图形(PHP图形图像的典型应用教程4)
本篇主要讲解使用GD2函数实现几何图形的绘制,首先我们需要的事创建一个图像,在之前的文章中我们就说过了,创建图像是所有图像操作的第一步,然后再背景上根据坐标点绘制图形轮廓,最后输出图形!
那么我们在上一篇《使用图像处理技术生成验证码(PHP图形图像的典型应用教程3)》中介绍了如何生成验证码,不知道小伙伴们有没有掌握这个知识点呢,还没有熟悉的小伙伴可以回顾一下!今天我们讲解绘制几何图形!
本文技术要点:
在本文中主要使用GD2函数来绘制几何图形,其中部分函数在前面的文章中已经进行了详细的介绍,下面我们对常用的函数进行介绍:
(1) imagecreatetruecolor()函数
该函数用于建议一个全彩的图片文件资源,该函数的语法格式如下:
int imagecreatetruecolor(int x_size,int y_size);
参数 x_size和y_size分别为图像的宽,高尺寸,单位为像素(px)。
(2)imagecolorallocate()函数
该函数用于匹配指定图像的颜色,以供其他绘图函数适用,该语法格式如下:
int imagecolorallocate(int im, int red, int green, int blue);
参数 im 表示图像的handle;参数 red,green,blue是彩色RGB三原色,其值是从 0至255的整数或者十六进制的 0x00~0xff。该函数必须被调用,以创建每一种用在 image 所代表的图像中的颜色。
(3)imagefilledarc()函数
该函数用于绘制一个椭圆并填充,该函数的语法格式如下:
int imagefilledarc(im, int cx , int w, int h, int s, int e, int color, int style);
在im所代表的图像中以 cx,cy(图像左上角为0, 0)为圆心画一个椭圆弧。如果成功则返回 true,失败则返回 false。w 和 h分别指定了椭圆的宽和高,s 和 e 参数以角度指定了起始点和结束点,color代表填充的颜色值。
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 一起使用是画饼状图轮廓的好方法(而不用填充)。
(4)imagefilledrectangle()函数
该函数用于绘制一个填充了的矩形,该函数的语法格式如下:
bool imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int$color )
该函数将图片的封闭长方形区域着色,参数 x1,y1以及x2,y2分别为矩形对角线的坐标,参数col表示欲涂上的颜色;
(5)imagedestroy()函数
该函数用于删除图形,释放内存空间,语法格式如下:
int imagedestroy(int im);
参数 im 为imagecreate()函数,imagecreatetruecolor()函数所建立的图形!
我们现在来看看如何实现绘制几何图形:
实现过程具体代码如下:
<?php header('Content-type: image/png');// 告诉浏览器,这个文件,是一个png图片 $img = imagecreatetruecolor(260, 200);//创建一个400X200的画布 $green = imagecolorallocate($img, 20, 145, 40);//定义一个绿颜色 $darkgreen = imagecolorallocate($img, 25, 80, 25);//定义一个深绿颜色 $blue = imagecolorallocate($img, 0, 225, 205);//定义一个蓝颜色 $darkblue = imagecolorallocate($img, 10, 180, 200);//定义一个深蓝颜色 $red = imagecolorallocate($img, 255, 0, 0);//定义一个红颜色 $bluered = imagecolorallocate($img, 202, 10, 0);//定义一个深红颜色 for($i = 110; $i > 100 ; $i--){ imagefilledarc($img,130,$i,150,100,0,95,$darkgreen,IMG_ARC_PIE); imagefilledarc($img,130,$i,150,100,95,125,$darkblue,IMG_ARC_PIE); imagefilledarc($img,130,$i,150,100,120,360,$bluered,IMG_ARC_PIE); } imagefilledarc($img,130,$i,150,100,0,95,$green,IMG_ARC_PIE); imagefilledarc($img,130,$i,150,100,95,125,$blue,IMG_ARC_PIE); imagefilledarc($img,130,$i,150,100,120,360,$red,IMG_ARC_PIE); imagepng($img);//以png格式输出图像 imagedestroy($img);//释放资源 ?>
输出结果如下:
使用GD2函数绘制几何图形,我们到这里就介绍完了,相信小伙伴们都可以掌握此项功能,那么我们下面继续介绍关于图像的如何在图表中添加行和列标签,具体请阅读《使用GD2函数向图表中添加行和列标签(PHP图形图像的典型应用教程5)》!
以上是使用GD2函数绘制几何图形(PHP图形图像的典型应用教程4)的详细内容。更多信息请关注PHP中文网其他相关文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver Mac版
视觉化网页开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 Linux新版
SublimeText3 Linux最新版