<?php
Header("Content-type: image/PNG");
$imgWidth = 60; //验证码的宽度
$imgHeight = 22; //验证码的高度
$img = imagecreate($imgWidth,$imgHeight);//设置图片的宽与高
$bgColor = ImageColorAllocate($img,255,255,255); //背景色
$white = imagecolorallocate($img,255,255,255); //白色
$orange = imagecolorallocate($img,234,185,95);
$red = imagecolorallocate($img,200,0,0); //红色
$blue = imagecolorallocate($img,0,0,150);//蓝色
$black = imagecolorallocate($img,0,0,0);//黑色
imagearc($img, 10, 8, 40, 20, 15, 10, $black);
imagearc($img, 10, 7, 80, 30, 35, 5, $black);
imageline($img, 0, 10, 100, 10, $blue); //蓝线:左、上、右、下
imageline($img, 0, 0, 100, 40, $red); //红线:左、上、右、下
imageline($img, 0, 20, 100, -20, $orange); //黄线:左、上、右、下
$noise_num = 200; //杂点密度
$line_num = 5; //线的数量
imagecolorallocate($img,0xff,0xff,0xff);
$noise_color=imagecolorallocate($img,0x00,0x00,0x00);//点颜色
$font_color=imagecolorallocate($img,0x00,0x00,0x00); //字颜色
$line_color=imagecolorallocate($img,0x00,0x00,0x00); //线颜色
//加入干扰点
for($i=0;$i<$noise_num;$i++){
imagesetpixel($img,mt_rand(0,$imgWidth),mt_rand(0,$imgHeight),$noise_color);
}
//加入干扰线
for($i=0;$i<$line_num;$i++){
imageline($img,mt_rand(0,$imgWidth),mt_rand(0,$imgHeight),mt_rand(0,$imgWidth),mt_rand(0,$imgHeight),$line_color);
}
//使用数字
$fontfile = "arialbd.ttf"; //如果使用中文验证码,则必须使用包含中文的字体文件
$fontsiz = 16; //如果使用中文验证码,则必须使用包含中文的字体文件
$str = Rnd_num(4); //如果使用中文,则注释本行,
ImageTTFText($img, $fontsiz, -50, 3, 10, $font_color, $fontfile, $str[0]);
ImageTTFText($img, $fontsiz, -30, 17, 15, $font_color, $fontfile, $str[1]);
ImageTTFText($img, $fontsiz, 10, 35, 18, $font_color, $fontfile, $str[2]);
ImageTTFText($img, $fontsiz, -20, 44, 16, $font_color, $fontfile, $str[3]);
// ImageTTFText($img, 14, 0, 5, 20, $font_color, $fontfile, $str);//对象,字体大小,角度(0 度为从左向右读的文本),左边距,上边距,颜色,字体,字符串
//输出图片
ImagePNG($img);
ImageDestroy($img);
///////////////////////////////////////////////////////////////////////////////
//【函数】随机生成数字
function Rnd_num($length){
$output='';
for ($a = 0; $a < $length; $a++) {
$output .= chr(mt_rand(48, 57));//随机生成0-9的数字
}
return $output;
}
?>
Header("Content-type: image/PNG");
$imgWidth = 60; //验证码的宽度
$imgHeight = 22; //验证码的高度
$img = imagecreate($imgWidth,$imgHeight);//设置图片的宽与高
$bgColor = ImageColorAllocate($img,255,255,255); //背景色
$white = imagecolorallocate($img,255,255,255); //白色
$orange = imagecolorallocate($img,234,185,95);
$red = imagecolorallocate($img,200,0,0); //红色
$blue = imagecolorallocate($img,0,0,150);//蓝色
$black = imagecolorallocate($img,0,0,0);//黑色
imagearc($img, 10, 8, 40, 20, 15, 10, $black);
imagearc($img, 10, 7, 80, 30, 35, 5, $black);
imageline($img, 0, 10, 100, 10, $blue); //蓝线:左、上、右、下
imageline($img, 0, 0, 100, 40, $red); //红线:左、上、右、下
imageline($img, 0, 20, 100, -20, $orange); //黄线:左、上、右、下
$noise_num = 200; //杂点密度
$line_num = 5; //线的数量
imagecolorallocate($img,0xff,0xff,0xff);
$noise_color=imagecolorallocate($img,0x00,0x00,0x00);//点颜色
$font_color=imagecolorallocate($img,0x00,0x00,0x00); //字颜色
$line_color=imagecolorallocate($img,0x00,0x00,0x00); //线颜色
//加入干扰点
for($i=0;$i<$noise_num;$i++){
imagesetpixel($img,mt_rand(0,$imgWidth),mt_rand(0,$imgHeight),$noise_color);
}
//加入干扰线
for($i=0;$i<$line_num;$i++){
imageline($img,mt_rand(0,$imgWidth),mt_rand(0,$imgHeight),mt_rand(0,$imgWidth),mt_rand(0,$imgHeight),$line_color);
}
//使用数字
$fontfile = "arialbd.ttf"; //如果使用中文验证码,则必须使用包含中文的字体文件
$fontsiz = 16; //如果使用中文验证码,则必须使用包含中文的字体文件
$str = Rnd_num(4); //如果使用中文,则注释本行,
ImageTTFText($img, $fontsiz, -50, 3, 10, $font_color, $fontfile, $str[0]);
ImageTTFText($img, $fontsiz, -30, 17, 15, $font_color, $fontfile, $str[1]);
ImageTTFText($img, $fontsiz, 10, 35, 18, $font_color, $fontfile, $str[2]);
ImageTTFText($img, $fontsiz, -20, 44, 16, $font_color, $fontfile, $str[3]);
// ImageTTFText($img, 14, 0, 5, 20, $font_color, $fontfile, $str);//对象,字体大小,角度(0 度为从左向右读的文本),左边距,上边距,颜色,字体,字符串
//输出图片
ImagePNG($img);
ImageDestroy($img);
///////////////////////////////////////////////////////////////////////////////
//【函数】随机生成数字
function Rnd_num($length){
$output='';
for ($a = 0; $a < $length; $a++) {
$output .= chr(mt_rand(48, 57));//随机生成0-9的数字
}
return $output;
}
?>