//通过GD库做验证码function verifyImage($type = 1,$length = 4,$pixel = 25, $line = 0,$sess_name = "verify"){ // 创建画布 $width = 80; $height = 28; $image = imagecreatetruecolor($width, $height); $white = imagecolorallocate($image, 255, 255, 255); $black = imagecolorallocate($image, 0, 0, 0); // 用填充矩形填充画布 imagefilledrectangle($image, 1, 1, $width - 2, $height - 2, $white); $chars = buildRandomString($type, $length);//生成随机字符串 $_session[$sess_name] = $chars; for ($i = 0; $i < $length; $i ++) { $size = mt_rand(14, 18); $angle = mt_rand(- 15, 15); $x = 5 + $i * $size; $y = mt_rand(20, 26); $color = imagecolorallocate($image, mt_rand(50, 90), mt_rand(80, 200), mt_rand(90, 180)); $fontfile = "../fonts/SIMYOU.TTF"; $text = substr($chars, $i, 1); // echo $text; imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text); } // 加上干扰元素---点 if ($pixel) { for ($i = 0; $i < $pixel; $i ++) { imagesetpixel($image, mt_rand(0, $width - 1), mt_rand(0, $height - 1), $black); } } // 加上干扰元素--线 if ($line) { for ($i = 0; $i < $line; $i ++) { imageline($image, mt_rand(0, $width - 1), mt_rand(0, $height - 1), mt_rand(0, $width - 1), mt_rand(0, $height - 1), $black); } } ob_clean(); // 显示之前要告诉浏览器 header("content-type:image/gif"); // 显示画布 imagegif($image); // 销毁资源 imagedestroy($image);}
新闻热点
疑难解答