一漂亮的PHP图片验证码实例
一、显示效果
二、代码如下
* @Authorfy
*/
$imgwidth =100;//图片宽度
$imgheight =40;//图片高度
$codelen =4;//验证码长度
$fontsize =20;//字体大小
$charset="abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789";
$font="Fonts/segoesc.ttf";
$im=imagecreatetruecolor($imgwidth,$imgheight);
$while=imageColorAllocate($im,255,255,255);
imagefill($im,0,0,$while);//填充图像
//取得字符串
$authstr="";
$_len=strlen($charset)-1;
for($i=0;$i<$codelen;$i++){
$authstr.=$charset[mt_rand(0,$_len)];
}
session_start();
$_SESSION["scode"]=strtolower($authstr);//全部转为小写,主要是为了不区分大小写
//随机画点,已经改为划星星了
for($i=0;$i<$imgwidth;$i++){
$randcolor=imageColorallocate($im,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($im,mt_rand(1,5),mt_rand(0,$imgwidth),mt_rand(0,$imgheight),"*",$randcolor);
//imagesetpixel($im,mt_rand(0,$imgwidth),mt_rand(0,$imgheight),$randcolor);
}
//随机画线,线条数量=字符数量(随便)
for($i=0;$i<$codelen;$i++)
{
$randcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
imageline($im,0,mt_rand(0,$imgheight),$imgwidth,mt_rand(0,$imgheight),$randcolor);
}
$_x=intval($imgwidth/$codelen);//计算字符距离
$_y=intval($imgheight*0.7);//字符显示在图片70%的位置
for($i=0;$i<strlen($authstr);$i++){
$randcolor=imagecolorallocate($im,mt_rand(0,150),mt_rand(0,150),mt_rand(0,150));
//imagestring($im,5,$j,5,$imgstr[$i],$color3);
//imagettftext(resource$image,float$size,float$angle,int$x,int$y,int$color,string$fontfile,string$text)
imagettftext($im,$fontsize,mt_rand(-30,30),$i*$_x+3,$_y,$randcolor,$font,$authstr[$i]);
}
//生成图像
header("content-type:image/PNG");
imagePNG($im);
imageDestroy($im);
相关文章
- Oracle数据库实例深度剖析(oracle数据库和实例)
- Linux系统下PHP安装Redis扩展的步骤(php安装redis)
- 学习PHP与MySQL:基础教程入门(php与mysql基础教程)
- PHP操纵Redis实例:快速高效存储数据(php操作redis实例)
- MySQL查询当天数据:妙用实例(mysql查询当天数据)
- MySQL实现PHP数组存储的效果(mysql存储数组php)
- PHP环境搭建:从编译MSSQL说起(php 编译mssql)
- PHP字符转义相关函数小结(php下的转义字符串)
- PHP注释实例技巧
- 《PHP编程最快明白》第七讲:php图片验证码与缩略图
- 一个典型的PHP分页实例代码分享
- php教程插件机制在PHP中实现方案
- php缩放图片(根据宽高的等比例缩放)实例介绍
- Android访问php取回json数据实例
- php另类上传图片的方法(PHP用Socket上传图片)
- javascript打印输出json实例
- PHP提取图片img标记中的任意属性的简单实例
- php更新修改excel中的内容实例代码
- PHP图片等比缩放类SimpleImage使用方法和使用实例分享
- php中使用getimagesize获取图片、flash等文件的尺寸信息实例
- php+js实现异步图片上传实例分享
- C#中参数个数可变的方法实例分析
- PHP魔术方法__GET、__SET使用实例
- PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
- Android对sdcard扩展卡文件操作实例详解
- php中fsockopen用法实例
- PHP中使用php5-ffmpeg撷取视频图片实例
- php的XML文件解释类应用实例