程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 圖片添加文字水印 和圖片水印,添加文字水印圖片

圖片添加文字水印 和圖片水印,添加文字水印圖片

編輯:關於PHP編程

圖片添加文字水印 和圖片水印,添加文字水印圖片


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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved