加入干扰象素:
中文验证码好像不能输出?暂时没有试成功,不知道怎么编写,还有一个问题是如何绘制一个矩形边框?如果矩形边框要为黑色?程序又如何编写?高手跟帖。
<?php
/*
* 文件:code.php
* 作用:验证码生成
*/
$chinesechar = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z", "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
/*
$chinesechar = array("人","出","来","友","学","孝","仁","义","礼","廉","忠","国","中","易","白","者","火 ","土","金","木","雷","风","龙","虎","天","地", "生","晕","菜","鸟","田","三","百","钱","福 ","爱","情","兽","虫","鱼","九","网","新","度","哎","唉","啊","哦","仪","老","少","日","月 ","星");
*/
session_start();
// 设置 content-type
header("Content-type: image/png");
// 创建图片
$im = imagecreatetruecolor(62,20);
// 创建颜色
$fontcolor = imagecolorallocate($im,0,0,0);
$bgcolor=imagecolorallocate($im,200,200,200);
imagefill($im,0,0,$bgcolor);
// 设置文字
for($i=0;$i<4;$i++)
{
$text.=$chinesechar[(array_rand($chinesechar))];
}
$_SESSION['code'] = $text;
// 设置字体
$font = 'cc.ttf';
// 添加文字
imagettftext($im,12,0,3,15,$fontcolor,$font,$text);
srand((double)microtime()*1000000);
for($i=0;$i<200;$i++) //加入干扰象素
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im,rand()%70,rand()%30,$randcolor);
}
// 输出图片
imagepng($im);
imagedestroy($im);
?>
/*
* 文件:code.php
* 作用:验证码生成
*/
$chinesechar = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z", "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
/*
$chinesechar = array("人","出","来","友","学","孝","仁","义","礼","廉","忠","国","中","易","白","者","火 ","土","金","木","雷","风","龙","虎","天","地", "生","晕","菜","鸟","田","三","百","钱","福 ","爱","情","兽","虫","鱼","九","网","新","度","哎","唉","啊","哦","仪","老","少","日","月 ","星");
*/
session_start();
// 设置 content-type
header("Content-type: image/png");
// 创建图片
$im = imagecreatetruecolor(62,20);
// 创建颜色
$fontcolor = imagecolorallocate($im,0,0,0);
$bgcolor=imagecolorallocate($im,200,200,200);
imagefill($im,0,0,$bgcolor);
// 设置文字
for($i=0;$i<4;$i++)
{
$text.=$chinesechar[(array_rand($chinesechar))];
}
$_SESSION['code'] = $text;
// 设置字体
$font = 'cc.ttf';
// 添加文字
imagettftext($im,12,0,3,15,$fontcolor,$font,$text);
srand((double)microtime()*1000000);
for($i=0;$i<200;$i++) //加入干扰象素
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im,rand()%70,rand()%30,$randcolor);
}
// 输出图片
imagepng($im);
imagedestroy($im);
?>
中文验证码好像不能输出?暂时没有试成功,不知道怎么编写,还有一个问题是如何绘制一个矩形边框?如果矩形边框要为黑色?程序又如何编写?高手跟帖。
期末成绩出炉。
我的自白
2008/07/12 10:21 | by






