session_start();
$type=1;
$length=4;
$pixel=0;
$line=0;
$sess_name = "verify";
$width = 80;
$height = 80;
//创建画布
$image = imagecreatetruecolor ( $width, $height );
// 为一幅图像分配颜色 背景设为白色
//返回一个颜色值16777215
$white = imagecolorallocate ( $image, 255, 255, 255 );
//print_r($white1);die;
//把背景再设置成黑色
$black = imagecolorallocate ( $image, 0, 0, 0 );
//print_r($black);die;
//本函数将图片的封闭长方形区域着色 设置这个图片的这个矩形的颜色为白色
imagefilledrectangle ( $image, 1, 1, $width - 2, $height - 2, $white );
//返回4个数字
$chars = buildRandomString ( $type, $length );
//print_r($chars);die;
//把四个数字存到 session中
$_SESSION [$sess_name] = $chars;
//$fontfiles = array ("MSYH.TTF", "MSYHBD.TTF", "SIMLI.TTF", "SIMSUN.TTC", "SIMYOU.TTF", "STZHONGS.TTF" );
$fontfiles = array ("SIMYOU.TTF" );
for($i = 0; $i < $length; $i ++) {
//字号随机取一个 在14到18的范围内
$size = mt_rand ( 14, 18 );
//角度随机取一个在-15到15之间
$angle = mt_rand ( - 15, 15 );
$x = 5 + $i * $size;
// print_r($x);
$y = mt_rand ( 20, 26 );
$fontfile = "../fonts/" . $fontfiles [mt_rand ( 0, count ( $fontfiles ) - 1 )];
$color = imagecolorallocate ( $image, mt_rand ( 50, 90 ), mt_rand ( 80, 200 ), mt_rand ( 90, 180 ) );
//分别取出四个数字中的一个
$text = substr ( $chars, $i, 1 );
//本函数将 TTF (TrueType Fonts) 字型文字写入图片。
imagettftext ( $image, $size, $angle, $x, $y, $color, $fontfile, $text );
}
header ( "content-type:image/gif" );
imagegif ( $image );
imagedestroy ( $image );
验证码
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 最近12306的验证码,不断的刷屏。考验着各种想买个票的小伙伴们。现在来欣赏下各种形式的验证码。让你的口型是……卧...
- 在本地用thinkphp的验证码扩展测试没问题,放到Linux服务器之后,总是提示验证码错误,以下是我的解决方案,...