ikasa007
<?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();

 

分类:

技术点:

相关文章:

  • 2022-01-11
  • 2022-12-23
  • 2021-10-07
  • 2021-12-15
  • 2021-05-23
  • 2021-12-05
  • 2021-11-17
猜你喜欢
  • 2021-06-04
  • 2021-12-26
  • 2021-12-15
  • 2021-12-15
  • 2021-12-03
  • 2021-10-16
相关资源
相似解决方案