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

WBOY
Lepaskan: 2016-06-20 12:30:18
asal
854 orang telah melayarinya

<?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);    }}
Salin selepas log masuk


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!