溫馨提示×

溫馨提示×

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

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

TP框架下GD圖片處理類的實現(xiàn)思路

發(fā)布時間:2021-10-19 10:46:59 來源:億速云 閱讀:147 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“TP框架下GD圖片處理類的實現(xiàn)思路”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“TP框架下GD圖片處理類的實現(xiàn)思路”這篇文章吧。

<?php
/**
 * Created by PhpStorm.
 */
class ImageTool{
    private $info;
    private $p_w_picpath;

    public function __construct($src){
        $info=getp_w_picpathsize($src);

        $this->info=array(
            'width'=>$info[0],
            'height'=>$info[1],
            'type'=>p_w_picpath_type_to_extension($info[2],false),
            'mime'=>$info['mime']
        );
        $fun="p_w_picpathcreatefrom{$this->info['type']}";
        $this->p_w_picpath=$fun($src);
    }

    public function getImage(){
        return $this->p_w_picpath;
    }

    public function getInfo(){
        return $this->info;
    }

    /**
     * 圖片壓縮
     * @param $width
     * @param $height
     */
    public function thumb($width,$height){
        $p_w_picpath_thumb=p_w_picpathcreatetruecolor($width,$height);
        p_w_picpathcopyresampled($p_w_picpath_thumb,$this->p_w_picpath,0,0,0,0,$width,$height,$this->info['width'],$this->info['height']);
        p_w_picpathdestroy($this->p_w_picpath);
        $this->p_w_picpath=$p_w_picpath_thumb;
    }

    /**
     * 字體水印(默認(rèn)左下角)
     * @param $fontfile 字體文件consolaz.ttf
     * @param $text 水印內(nèi)容
     */
    public function fontMark($fontfile,$text){
        //紅綠藍(lán)=白+50透明度字體
        $col=p_w_picpathcolorallocatealpha($this->p_w_picpath, 255, 255, 255, 50);  
        //圖片字體合成-參數(shù):圖像,字體大小,偏轉(zhuǎn)角度,橫向偏移,縱向偏移,顏色,字體文件,內(nèi)容
        p_w_picpathttftext($this->p_w_picpath, 50, 0, 40, $this->info['height']-50, $col, $fontfile, $text);

    }

    /**
     * 圖片水印
     * @param $water 水印圖片
     * @param $waterInfo 水印圖片信息
     */
    public function p_w_picpathMark($water,$waterInfo){
        p_w_picpathcopymerge($this->p_w_picpath,$water,20,30,0,0,$waterInfo['width'],$waterInfo['height'],20);
        /*圖片合成-參數(shù):目標(biāo)圖片,水印圖片,橫向偏移,縱向偏移,
         *水印圖片x處開始復(fù)制,水印圖片的y處開始復(fù)制,
         *水印圖片x處結(jié)束復(fù)制,水印圖片y處結(jié)束復(fù)制,水印圖片的透明度。
         */
        p_w_picpathdestroy($water);
    }

    public function showInHtml(){
        header("content-type:".$this->info['mime']);
        $funs="p_w_picpath{$this->info['type']}";
        $funs($this->p_w_picpath);
    }

    /**
     * 保存圖片
     * @param $newName 保存文件名
     */
    public function saveImage($newName){
        $funs="p_w_picpath{$this->info['type']}";
        $funs($this->p_w_picpath,"$newName.".$this->info['type']);//保存圖片
    }

    public function __destruct(){
        p_w_picpathdestroy($this->p_w_picpath);
    }
}

以上是“TP框架下GD圖片處理類的實現(xiàn)思路”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

tp gd
AI