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);
        }
  • 相关阅读:
    用小百合学python
    驱动对象 设备对象 设备栈 乱杂谈
    [转]很经典的http协议详解
    利用VMWare和WinDbg调试驱动程序
    GCC基础
    史上最著名的10个思想实验 (转)
    windows XP下驱动开发环境设置(DDK+VC6.0)
    守护进程
    驱动SYS开发总结
    ASP.NET学习笔记1
  • 原文地址:https://www.cnblogs.com/KTblog/p/4960113.html
Copyright © 2011-2022 走看看