项目码源:https://github.com/LVQINGDONG/learn_php/ 找到PHPGD_numberIMG分支下载。
一,PHP GD 库的安装与配置
找到php服务器配置文件夹下的php.ini,打开文件并找到代码“;extension=php_gd2.dll”去掉前面的分号就行“;”
这里使用wamp服务器,在wamp→bin→php→php7.0.4目录下找到了php.ini文件。
配置完成之后,测试配置是否成功:
新建一个php文件输入代码,测试:
//测试是否可以使用GD库 if(extension_loaded('gd')){ echo "可以使用"; foreach(gd_info() as $cate=>$value) echo "$cate:$value<br>"; } else{ echo "无法使用gd"; }成功后浏览器显示:

二,PHP GD库的使用说明
使用PHP GD 库创建图像有四个步骤:
①创建画布。所有的绘图都需要在一个背景层上完成,以后处理图形都基于这个背景图层进行操作。
原理:画布实际上就是在内存中开辟了一块临时的内存区域,用于存储图像信息。
②绘制图像。基于之前画布创建的背景层,使用php图像函数设置图像颜色以及绘制图形。
③输出图像。完成图像绘制之后,需要将图片以某种格式保存到服务器中或者直接输出到页面显示。
④释放资源。图像输出后,存储在内存中的画布信息区域就不存在了,就需要及时清除它占用的内存资源。
三,实现图形验证码
①创建image_create1.php输入代码,先来使用PHP GD 库试着输出,代码具体功能看注释:
<?php /** * Created by PhpStorm. * User: lenovo * Date: 2018/6/3 * Time: 20:44 */ ////测试是否可以使用GD库 //if(extension_loaded('gd')){ // echo "可以使用"; // foreach(gd_info() as $cate=>$value) // echo "$cate:$value<br>"; //} //else{ // echo "无法使用gd"; //} header("Content-type:image/png"); //设置生成图片的格式 $im=imagecreate(120,30); //新建画布 $bg=imagecolorallocate($im,0,0,255); //设置背景 $sg=imagecolorallocate($im,255,255,255); //设置前景 imagefill($im,120,30,$bg); //填充背景 imagestring($im,7,8,5,"image create",$sg); //填充字符串 imagepng($im); //输出图像 imagedestroy($im); //销毁图像资源
打开浏览器看看效果:

②知道了使用方法之后,创建image_create2.php ,开始制作验证码,代码如下:
<?php /** * Created by PhpStorm. * User: lenovo * Date: 2018/6/3 * Time: 21:08 */ header("Content-type:image/png"); $im=imagecreate(80,20); $bg=imagecolorallocate($im,255,255,0); $sg=imagecolorallocate($im,0,0,0); $ag=imagecolorallocate($im,231,104,50); imagefill($im,120,30,$bg); $str="qwertyuipasdfghjklxcvbnm123456789QWERTYUIPASDFGHJKLXCVBNM"; $len=strlen($str)-1; for ($i=0;$i<4;$i++){ $str1=$str[mt_rand(0,$len)]; imagechar($im,7,16*$i+7,2,$str1,$sg); } for($i=0;$i<100;$i++){ imagesetpixel($im,rand()%80,rand()%20,$ag); } imagepng($im); imagedestroy($im);
打开浏览器看效果:

到这里PHP GD验证码就做好了。
---------------------------------------------------------------------------------------------------
用到的函数及其功能:


本文介绍如何使用PHP GD库配置环境、创建及输出图像,并详细讲解利用该库生成图形验证码的过程,包括创建画布、绘制图像、输出图像及释放资源等步骤。

4388

被折叠的 条评论
为什么被折叠?



