//若以下代码有错或不足,请在评论中指出 $img=imagecreatetruecolor(70,25);
$ u6 O9 {6 X2 |: `//创建画布
9 H3 W4 g3 z$ S! ?+ g$bgimg=imagecreatefromjpeg("backgroud/background".rand(1,8).'.jpg');/ e# ]( Y: }( P0 E
//生成背景图片4 X. S2 t* _, O
$bg_x=rand(0,130);
8 X* e" ^& W1 \* s8 Q//随机招贴画布起始X轴坐标
; v1 I) z: v; S& b% \$bg_y=rand(0,55);
# D0 o8 c+ ^7 A- S//随机招贴画布起始Y轴坐标
% [& l! X! \8 d/ R. n) c! m2 Ximagecopy($img,$bgimg,0,0,$bg_x,$bg_y,$bg_x+70,$bg_y+25); o- Y) v7 b$ E* q
//把背景图片$bging粘贴的画布上 //生成随机字符串
3 m: \# r6 U8 Y( ~6 i8 ^( f) qfunction creaStr($len){
3 b$ k, f. Y: U9 V% w $arr1=range(0,9);
2 O. p7 e$ D' @& R9 [% Y. u/ z" y- P $arr2=range(a,z);) N& @9 I7 U' ~$ F* B. q8 Y8 ^# T
$arr3=range(A,Z);, y. P+ c3 W, @) E b5 r8 |* E
$arr=array_merge($arr1,$arr2,$arr3);6 _0 Z+ ?& o6 r$ j4 |" }
str_shuffle($arr);) W% ]/ z7 M6 ]1 P M8 j
$str="";, ]/ v5 a* E) @# s0 z4 n5 Z0 t3 m
for($i=0;$i<$len;$i++){
1 p( r1 N! U3 q* } M $str.=$arr[rand(0,61)];* k; U3 c! d" }! ~
}
& i7 g9 Y. C+ c! d return $str;
* z; l$ X. Q! k5 W$ X* G} $font='Astarisborn.TTF'; //字体* q: b0 T V$ m) H
$str=creaStr(4); //字符串
2 l8 V- U* a5 X" e* d! C' ]for($i=0,$j=5;$i<4;$i++){
# Q S& V, a8 Y$ B6 T5 @( c$ }% u $array = array(-1,1);
% Y% o" E/ f+ d $p = array_rand($array);
& Y5 f7 W% n9 t) A L; E W $an = $array[$p]*mt_rand(1,10); //扭曲角度
/ Y! \# a+ I* o4 i9 t1 h $size = 14;//字体大小3 m4 K4 O; B0 {: Z @: m0 Z1 m
imagettftext($img, $size, $an, $j,rand(13,20),imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100)), $font, $str[$i]);//生成验证字符窜
" ~! _7 p. ~. ~/ ]8 F) ^- ~ $j+=15;
' L1 t# Y& Q( ~) D) h}' A% `; r. f0 T+ U# ]3 }; E" i
header('Content-type:image/png');* ?5 R# M$ K" \& X2 k$ ^7 c( D3 c+ x
imagepng($img);
5 n# o& K ~; n4 I. t9 kimagedestroy($img);
' J$ \: q7 c/ R
Z% k! {4 X1 }* P% K9 ~* C) V参考:- V2 v; W; q' g
http://blog.csdn.net/redhat_520/article/details/7652103http://blog.csdn.net/yanhui_wei/article/details/7985225
5 _$ W' B# x- E& e6 a% \' Ehttp://www.t086.com/code/php/function.php-ImageTTFText.php# D7 J+ E- U2 v3 z" J
http://www.t086.com/code/php/group.php-20.php |