//若以下代码有错或不足,请在评论中指出 $img=imagecreatetruecolor(70,25);
7 }4 M& r2 g' [7 J: a& i% z//创建画布' n3 ^1 j* a7 n' J G
$bgimg=imagecreatefromjpeg("backgroud/background".rand(1,8).'.jpg'); u- }/ Y7 p8 E
//生成背景图片* t7 g% q9 b3 H: d% Y0 O7 h3 Q+ I
$bg_x=rand(0,130);7 ?" X l. V$ f% _: m5 K4 ]. }
//随机招贴画布起始X轴坐标0 F, Q: h& j; b% ?9 s+ n2 k
$bg_y=rand(0,55);" a: G$ |: z; @1 U1 `
//随机招贴画布起始Y轴坐标+ ]8 }* B* a3 }4 K- h5 @* B6 Y
imagecopy($img,$bgimg,0,0,$bg_x,$bg_y,$bg_x+70,$bg_y+25); D1 { G6 o+ ~
//把背景图片$bging粘贴的画布上 //生成随机字符串' a Q( `. N% [' c$ I' U
function creaStr($len){7 [; F: K* A, N: u1 m$ @3 A$ {
$arr1=range(0,9);% R7 J; `* S/ e" M. F J+ N/ _0 n
$arr2=range(a,z);
L# g$ u4 D- N e1 r $arr3=range(A,Z);/ {- S% n, h0 V# x% p8 L2 `
$arr=array_merge($arr1,$arr2,$arr3);
# N+ a- |+ X- d str_shuffle($arr);
" B6 a/ g( w0 J9 u4 i $str="";
7 A5 Y9 Z- e* W* M& C/ B# t: R for($i=0;$i<$len;$i++){. f0 R$ Y3 W; O/ Y
$str.=$arr[rand(0,61)];+ o9 \: w8 l4 _
}+ z/ E$ x: g# ^+ [5 E
return $str;
- z$ m4 Y8 O) j: d3 n# i} $font='Astarisborn.TTF'; //字体
- }' X! M- i3 q; C9 o4 x$str=creaStr(4); //字符串
1 M! Q. h2 _2 z% c A% Ofor($i=0,$j=5;$i<4;$i++){3 i4 w9 v) @5 ~, ?3 }
$array = array(-1,1);9 n. S+ D. F9 Q+ w/ I
$p = array_rand($array);
6 j3 x+ V( e5 I" V5 L( p' ? $an = $array[$p]*mt_rand(1,10); //扭曲角度* d4 `, g" ~9 v) N/ B
$size = 14;//字体大小
: g* F( J3 T l5 m8 c. k( ^; k6 u imagettftext($img, $size, $an, $j,rand(13,20),imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100)), $font, $str[$i]);//生成验证字符窜$ A# N: A. j5 x
$j+=15;
/ w' A* v6 [3 d. w0 }. R9 Y; b}5 {% A9 u# {1 a# `
header('Content-type:image/png');; l, I2 g9 Y9 ]. g
imagepng($img);
% X# O1 H: i/ m2 c1 [imagedestroy($img);
9 r. ?* l% l6 s% k e6 {8 `. c( v$ h% }
参考:. ]2 D* C- K1 Y" f, G2 _6 ~/ y1 k
http://blog.csdn.net/redhat_520/article/details/7652103http://blog.csdn.net/yanhui_wei/article/details/7985225
- J' w- N6 I7 A, p3 }http://www.t086.com/code/php/function.php-ImageTTFText.php
; U. E. ^7 ^* C! P' E# Ohttp://www.t086.com/code/php/group.php-20.php |