PHP 验证码可设置字体(大小),可换背景图片,可扭曲角度
2012-06-11 13:15
603 查看
//若以下代码有错或不足,请在评论中指出
$img=imagecreatetruecolor(70,25); //创建画布
$bgimg=imagecreatefromjpeg("backgroud/background".rand(1,8).'.jpg');
//生成背景图片
$bg_x=rand(0,130); //随机招贴画布起始X轴坐标
$bg_y=rand(0,55); //随机招贴画布起始Y轴坐标
imagecopy($img,$bgimg,0,0,$bg_x,$bg_y,$bg_x+70,$bg_y+25);
//把背景图片$bging粘贴的画布上
//生成随机字符串
function creaStr($len){
$arr1=range(0,9);
$arr2=range(a,z);
$arr3=range(A,Z);
$arr=array_merge($arr1,$arr2,$arr3);
str_shuffle($arr);
$str="";
for($i=0;$i<$len;$i++){
$str.=$arr[rand(0,61)];
}
return $str;
}
$font='Astarisborn.TTF'; //字体
$str=creaStr(4); //字符串
for($i=0,$j=5;$i<4;$i++){
$array = array(-1,1);
$p = array_rand($array);
$an = $array[$p]*mt_rand(1,10); //扭曲角度
$size = 14;//字体大小
imagettftext($img, $size, $an, $j,rand(13,20),imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100)), $font, $str[$i]);//生成验证字符窜
$j+=15;
}
header('Content-type:image/png');
imagepng($img);
imagedestroy($img);
$img=imagecreatetruecolor(70,25); //创建画布
$bgimg=imagecreatefromjpeg("backgroud/background".rand(1,8).'.jpg');
//生成背景图片
$bg_x=rand(0,130); //随机招贴画布起始X轴坐标
$bg_y=rand(0,55); //随机招贴画布起始Y轴坐标
imagecopy($img,$bgimg,0,0,$bg_x,$bg_y,$bg_x+70,$bg_y+25);
//把背景图片$bging粘贴的画布上
//生成随机字符串
function creaStr($len){
$arr1=range(0,9);
$arr2=range(a,z);
$arr3=range(A,Z);
$arr=array_merge($arr1,$arr2,$arr3);
str_shuffle($arr);
$str="";
for($i=0;$i<$len;$i++){
$str.=$arr[rand(0,61)];
}
return $str;
}
$font='Astarisborn.TTF'; //字体
$str=creaStr(4); //字符串
for($i=0,$j=5;$i<4;$i++){
$array = array(-1,1);
$p = array_rand($array);
$an = $array[$p]*mt_rand(1,10); //扭曲角度
$size = 14;//字体大小
imagettftext($img, $size, $an, $j,rand(13,20),imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100)), $font, $str[$i]);//生成验证字符窜
$j+=15;
}
header('Content-type:image/png');
imagepng($img);
imagedestroy($img);
相关文章推荐
- phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- PHPExcel-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- php验证码函数 使用imagestring() imagefttext()设置字体大小
- phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- 黄聪:phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- 基于GD库的php验证码类(支持中英文字体、背景、干扰点线、扭曲…….)
- PHPExcel-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- WebView设置字体颜色, 字体大小,背景
- 手写NSButton设置的背景图片为什么不会随着Button的大小进行伸缩变换?
- PHP简单验证码类:字母+数字 字体随机扭曲
- 给tabBar设置图片和字体颜色 navigationBar设置字体大小 颜色
- 转载 Java中如何设置按钮背景图片大小
- Eclipse设置:背景与字体大小和xml文件中字体大小调整
- css3设置背景图片的大小
- android studio 更改背景和设置字体大小
- Eclipse设置:背景与字体大小和xml文件中字体大小调整
- android studio 更改背景和设置字体大小
- 用php生成扭曲,有角度的验证图片(支持中文)