TP_框架下的GD图片处理类(含基本php图片处理思路)

WBOY
發布: 2016-06-20 12:30:18
原創
865 人瀏覽過

<?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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板