<?php /** * @desc 图片处理类 */ class Pic{ private $info; private $res; public $thumb_pic; public function __construct($picPath){ //获取图片信息 $this->info = getimagesize($picPath); //获取图片名 $this->info[\'type\'] = image_type_to_extension($this->info[2],false); $funs = \'imagecreatefrom\'.$this->info[\'type\']; $this->res = $funs($picPath); } //缩略图 public function thumb($w=100,$h=100){ //创建图片资源 $image_thumb = imagecreatetruecolor($w,$h); imagecopyresampled($image_thumb,$this->res,0,0,0,0,$w,$h,$this->info[0],$this->info[1]); imagedestroy($this->res); $this->res = $image_thumb; } //展示 public function showPic(){ header(\'Content-type:\'.$this->info[\'type\']); $funs = \'image\'.$this->info[\'type\']; $funs($this->res); } //保存 public function savePic($newname){ $funs = \'image\'.$this->info[\'type\']; $funs($this->res,$newname.".".$this->info[\'type\']); } //销毁图片 public function __destruct(){ imagedestroy($this->res); } /** * @desc 添加文字水印 * @param $content string 文字 * @param $fonturl string 字体路径 * @param $fontsize int 字体大小 * @param $fontcolor array 设置颜色和透明度 * @param $local array 水印坐标 * @param $fontangle int 字体旋转角度 */ public function fontMark($content,$fonturl,$fontsize,$fontcolor,$local,$fontangle){ $color = imagecolorallocatealpha($this->res,$fontcolor[0],$fontcolor[1],$fontcolor[2],$fontcolor[3]); imagettftext($this->res,$fontsize,$fontangel,$local[\'x\'],$local[\'y\'],$color,$fonturl,$content); } /** * @desc 添加图片水印 * @param $markPic string 水印图片 * @param $local array 图片坐标 * @param $alpha array 设置颜色和透明度 */ public function picMark($markPic,$local,$alpha){ $markInfo = getimagesize($markPic); $markType = image_type_to_extension($markInfo[2],false); $markFun = \'imagecreatefrom\'.$markType; $markWater = $markFun($markPic); imagecopymerge($this->res,$markWater,$local[\'x\'],$local[\'y\'],0,0,$markInfo[0],$markInfo[1],$alpha); imagedestroy($markWater); } } $pic = new Pic(\'yibo_pic28.jpg\'); $pic->picMark(\'logo3.png\',array(\'x\'=>50,\'y\'=>50),30); $pic->showPic();