复制代码代码如下所示:
< PHP
公共功能的验证码(){
font_dir美元=美元_server {document_root}。your_ttf_file。TTF ; / /字体库
img_w美元= 58; / /设置图片的宽度
img_h美元= 20; / /设置图片的高
font_size美元= 11; / /字体大小
angle_l美元= 10; / /左角
angle_r美元= 10; / /直角
code_str美元=abcdefghjklmnpqrstuvwxyz36 ;
word_len美元= 4; / /码数
$填充= 5;每两个单词之间的间隔
边距= 2;左/边距
base_line美元= 15; / /文本基线的位置
base_line_offset美元= 2; / /基线偏移
pixel_num美元= 3; / /杂点数基
pixel_color美元= 8; / /杂点仅为pixel_color颜色总杂点pixel_num * pixel_color美元美元
noise_font_size美元= 1; / /杂点字体大小
session_key美元=我。xoyo_captcha ; / /自定义会话密钥

标题(缓存控制:无缓存,must-revalidate);
标题(到期时间:星期一,1997年7月26日05:00:00 );
标题(杂注:无缓存);
标题(缓存控件:私有);
头('content-type:图像/格式);

session_start();
= $ Word ;
code_str_len美元= strlen($ code_str)- 1;
为($我= 0;美元美元美元我<< word_len;i++){
美元美元的话。= code_str {兰特(0美元,code_str_len)};
}
_session美元{ $ session_key } = strtolower(合字);
新建一个真彩色图像(图像=美元美元美元img_w,img_h);
Imagefilledrectangle(合形象,0, 0,img_w美元1美元1,img_h,imagecolorallocate(美元的形象,mt_rand(235, 255),mt_rand(235, 255),mt_rand(235, 255))));

绘制/噪声
为($我= 0;美元美元美元我<< pixel_color;i++){
noise_color美元= imagecolorallocate(美元的形象,mt_rand(150225),mt_rand(150225),mt_rand(150225));
(J = 0;对美元美元美元,<< pixel_num;j++){
imagestring(合图像,noise_font_size美元,mt_rand(10,img_w美元),mt_rand(10美元美元,img_h),code_str { mt_rand(0,$ code_str_len)},noise_color美元);
}
}

/绘制文本
为($我= 0;$我<< word_len美元;+ +我){
颜色= imagecolorallocate美元(美元的形象,mt_rand(0, 100),mt_rand(20, 120),mt_rand(50, 150));
imagettftext(合图像,font_size美元,mt_rand(angle_l美元,angle_r美元),利润,mt_rand(base_line美元美元美元base_line_offset,base_line + base_line_offset美元美元美元),颜色,base_line + base_line_offset美元,((1)。
利润=(取得字体宽度($ font_size)+ $填充);
}

imagepng($图像);
销毁一图像($图像);
出口;
}