php图像相关函数制作可换字体字母验证码(附源码下载)

一、创建图像函数简介

1.创建新的

    ◆ imagecreatetruecolor()//新建一个真彩色图像

2.打开服务器或网络文件中已经存在的GIF,JPEG,PNG,WBMP格式图像

    ◆ imagecreatefromjpeg()
    ◆ imagecreatefrompng()
    ◆ imagecreatefromgif()
    ◆ imagecreatefromwbmp()
    ◆ imagesx()//输出画布宽度
    ◆ imagesy()//输出画布高度
    ◆ getimagesize()//取得图像大小

二、绘制图像

图像创建完成以后,就可以通过这个图像资源,使用各种画像函数设置图像的颜色、填充图像、画点、线段、以及向图像的添加文本等

    ◆ 1.imagecolorallocate()//分配颜色
    ◆ 2.imagefill()//区域填充
    ◆ 3.imagesetpixel()//画一个单一像素
    ◆ 4.imageline()//画一条线段
    ◆ 5.imagerectangle()//画一个矩形
    ◆ 6.imagestring()//水平地画一行字符串
    ◆ 7.imagettftext()//用 TrueType 字体向图像写入文本
    ◆ 8.imagettfbbox()//计算 TrueType 文字所占区域
    ◆ 9.imagecopy()//拷贝图像的一部分
    ◆ 10.imagecopymerge()//拷贝并合并图像的一部分
    ◆ 11.imagecopyresampled()//重采样拷贝部分图像并调整大小

三、生成图像

    ◆ header()
    ◆ imagegif()
    ◆ imagejpeg()
    ◆ imagepng()
    ◆ imagewbmp()

四、释放内存资源

    ◆ imagedestroy()

五、可换字体字母验证码

  1. <?php
  2. header('Content-type:image/jpeg');
  3. $width=120;
  4. $height=40;
  5. $element=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
  6. $string='';
  7. for ($i=0;$i<5;$i++){
  8. 	$string.=$element[rand(0,count($element)-1)];
  9. }
  10. $img=imagecreatetruecolor($width, $height);
  11. $colorBg=imagecolorallocate($img,rand(200,255),rand(200,255),rand(200,255));
  12. $colorBorder=imagecolorallocate($img,rand(200,255),rand(200,255),rand(200,255));
  13. $colorString=imagecolorallocate($img,rand(10,100),rand(10,100),rand(10,100));
  14. imagefill($img,0,0,$colorBg);
  15. imagerectangle($img,0,0,$width-1,$height-1,$colorBorder);
  16. for($i=0;$i<100;$i++){
  17. 	imagesetpixel($img,rand(0,$width-1),rand(0,$height-1),imagecolorallocate($img,rand(100,200),rand(100,200),rand(100,200)));
  18. }
  19. for($i=0;$i<3;$i++){
  20. 	imageline($img,rand(0,$width/2),rand(0,$height),rand($width/2,$width),rand(0,$height),imagecolorallocate($img,rand(100,200),rand(100,200),rand(100,200)));
  21. }
  22. //SketchyComic.ttf是字体文件,你可以根据自己的喜好,下载后换掉这个文件
  23. imagettftext($img,14,rand(-5,5),rand(5,15),rand(30,35),$colorString,'font/SketchyComic.ttf',$string);
  24. imagejpeg($img);
  25. imagedestroy($img);
  26. ?>

注意:
1、SketchyComic.ttf是字体文件,你可以根据自己的喜好,下载后换掉这个文件,这是一个英文字体文件,不能显示中文会乱码,但你如果换成中文字体就可以汉字和字母随机生成了。、

2、要在数组中$element=array设置你调用的字符。

3、如果是初学者你可以对照上面的函数看下源码,非常简单。

六、源码下载

百度云盘下载可换字体字母验证码:http://pan.baidu.com/s/1dFDjdwX


发布日期:

所属分类: Php 标签: