91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微型php框架 library/image.class.php

發布時間:2020-06-01 11:44:00 來源:網絡 閱讀:288 作者:柯岳ky 欄目:web開發

<?php

// 驗證碼類


class p_w_picpath {

    protected $im;

    protected $img_width;

    protected $img_height;

    protected $img_type;

    

    // 生成隨機數

    static public function randStr($n = 4) {

        if($n <= 0) {

            return '';

        }


        $str = 'abcdefghijkmnpqrstuvwxyzABCDEFGHIJKMNPQRSTUVWXYZ0123456789';

        $str = substr(str_shuffle($str),0,$n);


        return $str;

    }

    

    

    // 生成驗證碼

    static public function chkcode($w=60,$h=25) {

        // $w 寬, $h 高

        $code = self::randStr(4);


        // 造畫布

        $im = p_w_picpathcreatetruecolor($w,$h);

        $bak = p_w_picpathcreatetruecolor($w,$h);


        // 造顏色,灰底+藍字

        $gray = p_w_picpathcolorallocate($im,100,100,100);

        $blue = p_w_picpathcolorallocate($im,0,0,255);

        $bak_gray = p_w_picpathcolorallocate($bak,100,100,100);

        

        // 填充

        p_w_picpathfill($im,0,0,$gray);

        p_w_picpathfill($bak,0,0,$bak_gray);


        // 寫字

        p_w_picpathstring($im,5,10,5,$code,$blue);


        /*****

         把驗證碼存儲到session里

        *****/


        /*****

         把驗證碼的字符扭曲,供參考,不要求.

        


        $niu = 3;

        for($i=0;$i<60;$i++) {

            // 按正弦函數計算Y軸的波動

            $y = sin(deg2rad((720/$w) * $i)) * $niu;            

            p_w_picpathcopy($bak,$im,$i,$y,$i,0,1,$h);

        }

        *****/


        header('content-type: p_w_picpath/jpeg');

        p_w_picpathjpeg($bak);

    }


    static public function make_thumb($ori,$w=200,$h=200) {

        // 判斷原圖大小,如果原圖比縮略還小,不必處理.


        // 讀出大圖當畫布

        $info = self::getinfo($ori);

        if($info['func'] === false) {

            return false;

        }


        $createfunc = 'p_w_picpathcreatefrom' . $info['func']; // 分析出讀取大圖所用的函數名.

        $src = $createfunc($ori);


        // 創建小畫布,并把背景做成灰色

        $small = p_w_picpathcreatetruecolor($w,$h);

        $gray = p_w_picpathcolorallocate($small,100,100,100);

        p_w_picpathfill($small,0,0,$gray);


        // 復制大圖到小圖

        $scale = min($w/$info['width'], $h/$info['height']); // 以更小的縮小比例為準,才能裝下


        // 根據比例,算最終復制過去的塊的大小.

        $realw = $info['width'] * $scale;

        $realh = $info['height'] * $scale;


        // 生成小圖

        /*

        bool p_w_picpathcopyresampled ( resource $dst_p_w_picpath , resource $src_p_w_picpath , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

        */


        // 計算留白

        $lw = round(($w - $realw)/2); // 計算左側留的寬度

        $lh = round(($h - $realh)/2); // 計算上部留的高度


        p_w_picpathcopyresampled($small,$src,$lw,$lh,0,0,$realw,$realh,$info['width'],$info['height']);


        /*

        header('content-type: p_w_picpath/jpeg');

        p_w_picpathjpeg($small);

        */


        // 計算小圖片的存儲路徑

        $thumburl = str_replace('.','_thumb.',$ori);

        $p_w_picpathfunc = 'p_w_picpath' . $info['func'];


        if($p_w_picpathfunc($small,$thumburl)) {

            return str_replace(ROOT,'',$thumburl);

        } else {

            return false;

        }



    }


    static public function getinfo($ori) {

        $arr = getp_w_picpathsize($ori);


        // 如果原始圖片分析不出來,直接false

        if($arr === false) {

            return false;

        }

        

        $info = array();

        

        $info['width'] = $arr[0];

        $info['height'] = $arr[1];

        

        switch($arr[2]) {

            case 1:

            $info['func'] = 'gif';

            break;


            case 2:

            $info['func'] = 'jpeg';

            break;


            case 3:

            $info['func'] = 'png';

            break;


            case 6:

            $info['func'] = 'wbmp';

            break;


            default:

            $info['func'] = false;

        

        }


        return $info;

    }



}



p_w_picpath::chkcode();


?>


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽阳县| 玉树县| 余姚市| 乐山市| 临沂市| 临澧县| 察隅县| 内丘县| 交城县| 香河县| 九龙坡区| 澄迈县| 全椒县| 车致| 新乡县| 大同市| 永川市| 大洼县| 巴楚县| 三门县| 樟树市| 比如县| 扬中市| 慈利县| 礼泉县| 花莲县| 闽侯县| 平远县| 新野县| 巴中市| 叶城县| 专栏| 都江堰市| 本溪| 大新县| 隆安县| 株洲市| 曲阜市| 大英县| 光泽县| 金秀|