一个验证码图片生成(刚写的,拿出来分享)

  流程:
 1.随机出一个4位的随机数存到sessioon中
 2.设置图片长和宽
 3.创建图像
 4.设置背景
5.将随机数写入图片
 6.加入干扰素(在图片上随机打印N个 点)
7.给图片家边框
 8.输出图片
//之后就是把用户输入的验证码数字跟 $_SESSION['login_validate'] 变量做比较就ok了
 [php]<?php
 session_start();
 //设置随机数种子
srand((double)microtime()*1000000);
//随机出4个数字

for($i=0;$i<4;$i++){
         $mun.= mt_rand(0,9);
 }

 $_SESSION['login_validate'] = $mun;

$img_height=60;    //先定义图片的长、宽
$img_width=20;

 $img = imagecreate($img_height,$img_width);//创建图像
 ImageColorAllocate($img, 255,255,255);//设置图像背景
 
 $color_rand = ImageColorAllocate($img, mt_rand(0,100),mt_rand(0,100),mt_rand(0,100));
 imagestring($img, 5, 12, 2, $_SESSION['login_validate'],$color_rand); //验证数字嵌入图片
 
 for($i=0;$i<100;$i++)   //加入干扰象素
{
        imagesetpixel($img, mt_rand(1,$img_height-1), mt_rand(1,$img_width-1), ImageColorAllocate($img, mt_rand(150,250),mt_rand(150,250),mt_rand(100,250)));
}
 
 //画上边框
ImageRectangle($img,0,0,$img_height-1,$img_width-1,ImageColorAllocate($img,mt_rand(0,100),mt_rand(0,100),mt_rand(0,100)));
 
Header("Content-type: image/png");    //告诉浏览器,下面的数据是图片,而不要按文字显示
 //生成png格式
 ImagePNG($img);
 ImageDestroy($img);
 ?>
 [/php]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值