TP_framework の GD 画像処理クラス (基本的な PHP 画像処理のアイデアを含む)

WBOY
リリース: 2016-06-20 12:30:18
オリジナル
868 人が閲覧しました

<?php/** * Created by PhpStorm. * User: Abo * Date: 2016/1/6 0006 * Time: 下午 3:37 */class ImageTool{    private $info;    private $image;    public function __construct($src){        $info=getimagesize($src);        $this->info=array(            'width'=>$info[0],            'height'=>$info[1],            'type'=>image_type_to_extension($info[2],false),            'mime'=>$info['mime']        );        $fun="imagecreatefrom{$this->info['type']}";        $this->image=$fun($src);    }    public function getImage(){        return $this->image;    }    public function getInfo(){        return $this->info;    }    /**     * 图片压缩     * @param $width     * @param $height     */    public function thumb($width,$height){        $image_thumb=imagecreatetruecolor($width,$height);        imagecopyresampled($image_thumb,$this->image,0,0,0,0,$width,$height,$this->info['width'],$this->info['height']);        imagedestroy($this->image);        $this->image=$image_thumb;    }    /**     * 字体水印(默认左下角)     * @param $fontfile 字体文件consolaz.ttf     * @param $text 水印内容     */    public function fontMark($fontfile,$text){        //红绿蓝=白+50透明度字体        $col=imagecolorallocatealpha($this->image, 255, 255, 255, 50);          //图片字体合成-参数:图像,字体大小,偏转角度,横向偏移,纵向偏移,颜色,字体文件,内容        imagettftext($this->image, 50, 0, 40, $this->info['height']-50, $col, $fontfile, $text);    }    /**     * 图片水印     * @param $water 水印图片     * @param $waterInfo 水印图片信息     */    public function imageMark($water,$waterInfo){        imagecopymerge($this->image,$water,20,30,0,0,$waterInfo['width'],$waterInfo['height'],20);        /*图片合成-参数:目标图片,水印图片,横向偏移,纵向偏移,         *水印图片x处开始复制,水印图片的y处开始复制,         *水印图片x处结束复制,水印图片y处结束复制,水印图片的透明度。         */        imagedestroy($water);    }    public function showInHtml(){        header("content-type:".$this->info['mime']);        $funs="image{$this->info['type']}";        $funs($this->image);    }    /**     * 保存图片     * @param $newName 保存文件名     */    public function saveImage($newName){        $funs="image{$this->info['type']}";        $funs($this->image,"$newName.".$this->info['type']);//保存图片    }    public function __destruct(){        imagedestroy($this->image);    }}
ログイン後にコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート