亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        PHP實(shí)現(xiàn)生成GIF動(dòng)態(tài)驗(yàn)證碼圖片功能

        字號(hào):


            如何用PHP生成GIF動(dòng)畫來實(shí)現(xiàn)動(dòng)態(tài)圖片驗(yàn)證碼?相信您要在找答案,以下是實(shí)現(xiàn)過程。
            ImageCode函數(shù)通過GIFEncoder類實(shí)現(xiàn)的GIF動(dòng)畫的PHP源代碼,有興趣的朋友可以研究一下。
            有關(guān)GIFEncoder類。 具體代碼入如下:
            /**
            * ImageCode 生成GIF圖片驗(yàn)證
            * @param $string 字符串
            * @param $width 寬度
            * @param $height 高度
            * */
            function ImageCode($string = '', $width = 75, $height = 25)
            {
            $authstr = $string ? $string : ((time() % 2 == 0) ? mt_rand(1000, 9999) : mt_rand(10000, 99999));
            $board_width = $width;
            $board_height = $height;
            // 生成一個(gè)32幀的GIF動(dòng)畫
            for($i = 0; $i < 32; $i++)
            {
            ob_start();
            $image = imagecreate($board_width, $board_height);
            imagecolorallocate($image, 0,0,0);
            // 設(shè)定文字顏色數(shù)組
            $colorList[] = ImageColorAllocate($image, 15,73,210);
            $colorList[] = ImageColorAllocate($image, 0,64,0);
            $colorList[] = ImageColorAllocate($image, 0,0,64);
            $colorList[] = ImageColorAllocate($image, 0,128,128);
            $colorList[] = ImageColorAllocate($image, 27,52,47);
            $colorList[] = ImageColorAllocate($image, 51,0,102);
            $colorList[] = ImageColorAllocate($image, 0,0,145);
            $colorList[] = ImageColorAllocate($image, 0,0,113);
            $colorList[] = ImageColorAllocate($image, 0,51,51);
            $colorList[] = ImageColorAllocate($image, 158,180,35);
            $colorList[] = ImageColorAllocate($image, 59,59,59);
            $colorList[] = ImageColorAllocate($image, 0,0,0);
            $colorList[] = ImageColorAllocate($image, 1,128,180);
            $colorList[] = ImageColorAllocate($image, 0,153,51);
            $colorList[] = ImageColorAllocate($image, 60,131,1);
            $colorList[] = ImageColorAllocate($image, 0,0,0);
            $fontcolor = ImageColorAllocate($image, 0,0,0);
            $gray = ImageColorAllocate($image, 245,245,245);
            $color = imagecolorallocate($image, 255,255,255);
            $color2 = imagecolorallocate($image, 255,0,0);
            imagefill($image, 0, 0, $gray);
            $space = 15; // 字符間距
            if($i > 0) // 屏蔽第一幀
            {
            for ($k = 0; $k < strlen($authstr); $k++)
            {
            $colorRandom = mt_rand(0,sizeof($colorList)-1);
            $float_top = rand(0,4);
            $float_left = rand(0,3);
            imagestring($image, 6, $space * $k, $top + $float_top, substr($authstr, $k, 1), $colorList[$colorRandom]);
            }
            }
            for ($k = 0; $k < 20; $k++)
            {
            $colorRandom = mt_rand(0,sizeof($colorList)-1);
            imagesetpixel($image, rand()%70 , rand()%15 , $colorList[$colorRandom]);
            }
            // 添加干擾線
            for($k = 0; $k < 3; $k++)
            {
            $colorRandom = mt_rand(0, sizeof($colorList)-1);
            // $todrawline = rand(0,1);
            $todrawline = 1;
            if($todrawline)
            {
            imageline($image, mt_rand(0, $board_width), mt_rand(0,$board_height), mt_rand(0,$board_width), mt_rand(0,$board_height), $colorList[$colorRandom]);
            }
            else
            {
            $w = mt_rand(0,$board_width);
            $h = mt_rand(0,$board_width);
            imagearc($image, $board_width - floor($w / 2) , floor($h / 2), $w, $h, rand(90,180), rand(180,270), $colorList[$colorRandom]);
            }
            }
            imagegif($image);
            imagedestroy($image);
            $imagedata[] = ob_get_contents();
            ob_clean();
            ++$i;
            }
            $gif = new GIFEncoder($imagedata);
            Header ('Content-type:image/gif');
            echo $gif->GetAnimation();
            }
            /**
            * 調(diào)用示例
            * */
            session_start();
            $authstr = mt_rand(1000, 9999); // 生成隨機(jī)字符串
            $_SESSION['verify'] = $authstr; // 記錄session
            ImageCode($authstr, 60); // 顯示GIF動(dòng)畫