zoukankan      html  css  js  c++  java
  • PHP

    效果:

    函数:

        /**
         * 
         * 函数名:_captbat()
         * 作用:生成验证码
         * 参数:
         *     1:宽度
         *     2:高度
         *     3:验证码个数
         *     4:是否启用边框
         *     5:不填写为默认值
         * 返回值:返回验证码图片
         * 
         * */
        function _captbat($_width = 75,$_height = 25, $_rnd_code = 4,$_flag = false){
            //创建随机码
            for ($i=0;$i<$_rnd_code;$i++) {
                $_nmsg .= dechex(mt_rand(0,15));
            }
            
            //保存在session
            $_SESSION['code'] = $_nmsg;
            
            //创建一张图像
            $_img = imagecreatetruecolor($_width,$_height);
            
            //白色
            $_white = imagecolorallocate($_img,255,255,255);
            
            //填充
            imagefill($_img,0,0,$_white);
            
            if ($_flag) {
                //黑色,边框
                $_black = imagecolorallocate($_img,0,0,0);
                imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
            }
            
            //随即画出6个线条
            for ($i=0;$i<6;$i++) {
                $_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
                imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color);
            }
            
            //随即雪花
            for ($i=0;$i<100;$i++) {
                $_rnd_color = imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
                imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),'*',$_rnd_color);
            }
            
            //输出验证码
            for ($i=0;$i<strlen($_SESSION['code']);$i++) {
                $_rnd_color = imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
                imagestring($_img,5,$i*$_width/$_rnd_code+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],$_rnd_color);
            }
            
            //输出图像
            header('Content-Type: image/png');
            imagepng($_img);
            
            //销毁
            imagedestroy($_img);
        }
  • 相关阅读:
    Ajax技术
    java web中filter分析
    Async分析
    解释session
    XML相关知识
    开学第一课
    svn
    spa单页面应用(angular)
    angular
    webpack认识
  • 原文地址:https://www.cnblogs.com/KTblog/p/4960113.html
Copyright © 2011-2022 走看看