//若以下代码有错或不足,请在评论中指出 $img=imagecreatetruecolor(70,25);3 J$ ^; Q8 d' y4 e) p+ r
//创建画布/ Q8 T, n6 L1 N' c; W& S
$bgimg=imagecreatefromjpeg("backgroud/background".rand(1,8).'.jpg');
( a! P) N0 q% j0 W7 q) d. E. V//生成背景图片
0 T7 M9 X3 {1 `$bg_x=rand(0,130);& w0 W4 V: h2 { ]
//随机招贴画布起始X轴坐标
! Q# k6 V" a/ Q) x; X3 f$bg_y=rand(0,55);
8 x0 _( K( M i9 n9 [//随机招贴画布起始Y轴坐标0 c0 g, V$ o( T1 |
imagecopy($img,$bgimg,0,0,$bg_x,$bg_y,$bg_x+70,$bg_y+25);
?8 z- b8 H" v2 @1 G) ^" h- M//把背景图片$bging粘贴的画布上 //生成随机字符串4 K g, k" a1 j5 J4 I C" _
function creaStr($len){2 j+ O+ [$ K; f$ u# A3 |# c
$arr1=range(0,9);& F4 S2 ~- d4 K! h1 _$ r
$arr2=range(a,z);2 B/ F; `! V8 L% \! V% p
$arr3=range(A,Z);3 g/ z8 q$ o `: ~3 k" r8 I
$arr=array_merge($arr1,$arr2,$arr3);
9 X$ ]' k! _- C$ c str_shuffle($arr);
, B$ u, t; n \# @4 d" f4 n% D/ x $str="";9 ^8 ]2 G, E5 v' _/ Z
for($i=0;$i<$len;$i++){
3 M5 D$ w7 ?! ^ v $str.=$arr[rand(0,61)];0 m1 ]8 {7 a' t: M: u6 p4 j: `
}
8 o8 } o$ F, n6 L/ { return $str;
2 [3 V Y- ]8 B5 z @& }} $font='Astarisborn.TTF'; //字体
$ b" R* y. S5 G" y' F5 T7 ], H7 x! K$str=creaStr(4); //字符串
# z7 z, s4 c3 [for($i=0,$j=5;$i<4;$i++){
( |5 j5 U" [2 M& ` $array = array(-1,1);& O5 n" _: j. X3 R7 F# P; t, d2 b
$p = array_rand($array);
Q. E) _0 s5 h# A $an = $array[$p]*mt_rand(1,10); //扭曲角度
6 i: Z5 x( |, y- O/ j3 q $size = 14;//字体大小+ [6 y( V( `7 a) ~
imagettftext($img, $size, $an, $j,rand(13,20),imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100)), $font, $str[$i]);//生成验证字符窜# S+ _* |0 y" Q6 H$ I
$j+=15;
" B6 Z9 ]9 o# G( z# X! J}5 |' T7 s8 P$ W1 J8 Y- Q
header('Content-type:image/png');, U, |1 S8 W- r8 {4 ^
imagepng($img);
( t3 L2 _4 a9 Z+ k! n6 gimagedestroy($img);
0 l V" S: p7 j; F. O7 C0 e6 k0 {7 d/ x4 E+ E
参考:; ?7 Z% t$ {9 r" u
http://blog.csdn.net/redhat_520/article/details/7652103http://blog.csdn.net/yanhui_wei/article/details/7985225
6 p% R: f3 k+ Z* ?2 `) shttp://www.t086.com/code/php/function.php-ImageTTFText.php
% K2 Q' e+ \6 j3 P0 @7 B5 u6 | L, qhttp://www.t086.com/code/php/group.php-20.php |