国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home php教程 PHP源碼 Encapsulates a class that can generate verification codes, thumbnails, and watermarks

Encapsulates a class that can generate verification codes, thumbnails, and watermarks

Nov 08, 2016 pm 01:31 PM

<?php
class image{
    session_start();
    //驗(yàn)證碼類
    static public function verify($code,$width=75,$height=25,$n=4){
        header("content-type:image/png");
        // 創(chuàng)建畫布
        $img=imagecreatetruecolor($width,$height);
        // 設(shè)置背景色
        $bgcolor=imagecolorallocate($img,mt_rand(200,255),mt_rand(200,255),rand(200,255));
        // 將背景色填充
        imagefill($img,0,0,$bgcolor);
        // 繪制五條弧線
        for($i=0;$i<5;$i++){
            $arccolor=imagecolorallocate($img,mt_rand(200,255),mt_rand(200,255),rand(200,255));
            imagearc($img,mt_rand(5,($width-5)),mt_rand(5,($height-5)),mt_rand(5,($width-5)),mt_rand(5,($height-5)),mt_rand(0,360),mt_rand(0,360),$arccolor);
        }
        // 繪制一百個(gè)點(diǎn)
        for($i=0;$i<100;$i++){
            $pixelcolor=imagecolorallocate($img,mt_rand(200,255),mt_rand(200,255),rand(200,255));
            imagesetpixel($img,mt_rand(1,($width-1)),mt_rand(1,($height-1)),$pixelcolor);
        }
        // 繪制五條線段
        for($i=0;$i<5;$i++){
            $linecolor=imagecolorallocate($img,mt_rand(200,255),mt_rand(200,255),rand(200,255));
            imageline($img,mt_rand(1,($width-1)),mt_rand(1,($height-1)),mt_rand(1,($width-1)),mt_rand(1,($height-1)),$linecolor);
        }
        // 設(shè)置邊框顏色
        $bdcolor=imagecolorallocate($img,mt_rand(150,200),mt_rand(150,200),rand(150,200));
        // 繪制一個(gè)矩形無填充邊框
        imagerectangle($img,0,0,($width-1),($height-1),$bdcolor);
        // 設(shè)置驗(yàn)證碼字符串
        $str=&#39;&#39;;
        for($i=1;$i<=$n;$i++){
            $str.=substr(str_shuffle($code),0,1);
        }
        $_SESSION[&#39;a&#39;]=$str;
        //
        for($i=0;$i<$n;$i++){
            $textcolor=imagecolorallocate($img,mt_rand(100,150),mt_rand(100,150),mt_rand(100,150));
            imagettftext($img,1/($n+1)*$width,mt_rand(-20,20),((1-$n/(5+$n))*$width/($n-1)+$i*1/($n+1)*$width),1/2*($height+3/5*$height),$textcolor,&#39;1.ttf&#39;,substr($str,$i,1));
        }
        // 打印圖像
        imagepng($img);
        // 釋放資源
        imagedestroy($img);
        return $str;
    }
    //縮略圖類
    /*
    *$source需要縮略的圖片
    */
    static public function thumbnail($source,$deletesource=false,$width=180){
        $info=getimagesize($source);
        //getimagesize方法獲得圖像的詳細(xì)信息
        $createFun=str_replace(&#39;/&#39;,&#39;createfrom&#39;,$info[&#39;mime&#39;]);
        //將getimagesize中的[&#39;mime&#39;]中的/替換,變?yōu)閕magecreatefromjpeg方法
        $src=$createFun($source);
        //創(chuàng)建圖像
        $dst_w=$width;
        //縮略圖的寬
        $dst_h=$width/$info[0]*$info[1];
        //計(jì)算縮略圖的高
        $dst=imagecreatetruecolor($dst_w,$dst_h);
        //新建一個(gè)真彩色圖像
        imagecopyresampled($dst,$src,0,0,0,0,$dst_w,$dst_h,$info[&#39;0&#39;],$info[&#39;1&#39;]);
        //重采樣拷貝部分圖像并調(diào)整大小
        $saveFun=str_replace(&#39;/&#39;,&#39;&#39;,$info[&#39;mime&#39;]);
        //設(shè)置保存函數(shù)
        $ext=strrchr($source,&#39;.&#39;);
        //strrchr查找指定字符在字符串中的最后一次出現(xiàn),返回包括其自身在內(nèi)的剩余的字符串
        $thumbnailName=str_replace($ext,&#39;&#39;,$source).&#39;_thumbnail&#39;.$ext;
        //設(shè)置保存路徑
        if(!$deletesource){
            $saveFun($dst,$thumbnailName);
            //保存圖像
        }else{
            $saveFun($dst,$thumbnailName);
            unlink($source);
            //刪除原圖
        }
        imagedestroy($src);
        //銷毀資源
        imagedestroy($dst);
        //銷毀資源
        return $thumbnailName;
 
    }
    //水印圖類
    /*
    *$srcing水印圖
    *$dsting原圖
    */
    static public function watermark($dstimg,$srcimg){
        $dstinfo=getimagesize($dstimg);
        //getimagesize方法獲取該圖片的詳細(xì)信息(該方法返回的是一個(gè)詳細(xì)的數(shù)組)
        $srcinfo=getimagesize($srcimg);
        $createdst=str_replace(&#39;/&#39;,&#39;createfrom&#39;,$dstinfo[&#39;mime&#39;]);
        //將getimagesize方法返回的數(shù)組中的mime值中的/替換,結(jié)果為imagecreatefromjpeg
        $createsrc=str_replace(&#39;/&#39;,&#39;createfrom&#39;,$srcinfo[&#39;mime&#39;]);
        $dst=$createdst($dstimg);
        //替換后為imagecreatefromjpeg函數(shù),創(chuàng)建一個(gè)圖像
        $dst_w=imagesx($dst);
        //獲取大圖的寬
        $dst_h=imagesy($dst);
        //獲取大圖的高
        $src=$createsrc($srcimg);
        //替換后為imagecreatefromjpeg函數(shù),創(chuàng)建一個(gè)圖像
        $src_w=imagesx($src);
        //獲取水印圖的寬
        $src_h=imagesy($src);
        //獲取水印圖的高
        $watermaker=imagecopy($dst,$src,($dst_w-$src_w),($dst_h-$src_h),0,0,$src_w,$src_h);
        //將水印圖復(fù)制在大圖上
        $saveFun=str_replace(&#39;/&#39;,&#39;&#39;,$dstinfo[&#39;mime&#39;]);
        //將getimagesize返回?cái)?shù)組中的[&#39;mime&#39;]中的斜杠替換為空,替換后的值為imagejpeg,即為保存函數(shù)
        $ext=strrchr($dstimg,&#39;.&#39;);
        //strrchr查找指定字符在字符串中的最后一次出現(xiàn),返回包括其自身在內(nèi)的剩余的字符串
        $watermaker=str_replace($ext,&#39;&#39;,$dstimg).&#39;_water&#39;.time().$ext;
        //保存名
        $saveFun($dst,$watermaker);
        //保存圖片,第一個(gè)參數(shù)為要保存的圖片,第二個(gè)參數(shù)為保存路徑或保存名
        imagedestroy($dst);
        //銷毀資源
        imagedestroy($src);
        //銷毀資源
        return $watermaker;
 
    }
 
}
?>

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1502
276