前言:
GD函数库各位可能听说过吧,这是PHP内置的专门用于生成简单的图像所用的必备扩展库,它可以用于生成验证码图,缩略图,甚至图片水印等。既然是很重要的函数库,当然是必须学习的内容了。我准备分成几篇文章来学习。
内容:
函数补充:
1. 在PHP中,使用GD库创建画布时,可以使用下面的两个函数:
- imagecreate(width,height);函数:通常只支持256色。
- imagecreatetruecolor(width,height);函数:可以创建一个基于真彩色画布。
2. PHP还可从已经存在的图像文件中创建图像(在画布上进行第二次图层)。在已经存在的图像文件中,支持的图像格式有:GIF、JPEG、PNG和WBMP等。
创建不同格式的图像,需要用到不同的函数。这些函数是:
- imagecreatefromgif()函数:从gif文件中创建图层。
- imagecreatefromjpeg()函数:从jpg文件中创建图层。
- imagecreatefrompng()函数:从png文件中创建图层。
- imagecreatefromwbmp()函数:从bmp文件中创建图层。
3.imagegif($rs);输出画布gif资源,inmagedestroy($rs);销毁内存中图片数据。还有一些在下面代码演示中提及。
画布文字(验证码)代码构成:
步骤:1.创建画布 2.输出画布 3.文字配色 4.水平绘制字符串 5.销毁内存
<?php header("content-type:image/gif");//生成一个图片页 $width=150; $height=60; $img=imagecreatetrueclolor($width,height);//创建基于真彩的画布 $white=imagecolorallocate($img,255,255,255);//为画布资源配色(这里是白色) imagefilledrectangle($img,0,60,150,0,$white);//在画布中绘制填充矩形 //起点坐标(X,Y)终点坐标(X,Y) PS:画布默认为黑色,且不能更改。 imagettftext($img,20,5,30,40,$white,"字体库文件","文本内容"); //上句是用truetype字体(win默认字体库)向画布中书写文字 //字体像素20PX,倾斜角5度,X坐标30,Y40,颜色白色 imagegif($img);//从内存输出到前端页面 imagedestroy($img);//销毁内存占用 ?>
利用上述代码(学以致用),我们可以创建一个类似于验证码图的东东,事实上它就是利用GD函数库的一个实例,但仅仅利用这些制作验证码还不足够,因为我们还要绘制一些干扰线,和干扰点,防止软件识别自动输入,剩下的我们明天看。