PHP图像操作类

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
PHP图像操作的一个类,包括给图像添加文字水印、图像水印和压缩图片。
    <?php  
      
    class Image {  
      
        private $info;  
        private $type;  
        private $iamge;  
      
      
        /** 
        * 打开图片,写入内存 
        * 
        **/  
        public function __construct($src)   
        {  
            $this->info = getimagesize($src);  
            $this->type = image_type_to_extension($this->info[2],false);  
            $fun = "imagecreatefrom".$this->type;  
            $this->image = $fun($src);  
        }  
      
        //缩略图  
        public function thumb($width, $height)  
        {  
            $image_thumb = imagecreatetruecolor($width, $height);  
            imagecopyresampled($image_thumb, $this->image, 0, 0, 0, 0, $width, $height, $this->info[0], $this->info[1]);  
            imagedestroy($this->image);  
            $this->image = $image_thumb;  
        }  
      
        //文字水印  
        public function fontMark($content, $fontUrl, $size, $color, $locate=array('x'=>0,'y'=>0), $angle=0)  
        {  
            $color = imagecolorallocatealpha($this->image, $color[0], $color[1], $color[2], $color[3]);  
            imagettftext($this->image, $size, $angle, $locate['x'], $locate['y'], $color, $fontUrl, $content);  
        }  
      
        //图片水印  
        public function imageMark($src,$locate,$alpha)  
        {  
            $info2 = getimagesize($src);  
            $type2 = image_type_to_extension($info2[2],false);  
            $fun2 = "imagecreatefrom".$type2;  
            $water = $fun2($src);  
            imagecopymerge($this->image, $water, $locate['x'], $locate['y'], 0, 0, $info2[0], $info2[1], $alpha);  
            imagedestroy($water);  
        }  
      
        //在浏览器中显示  
        public function show()  
        {  
            header("Content-type:".$this->info['mime']);  
            $fun = "image".$this->type;  
            $fun($this->image);  
        }  
      
        //保存为文件  
        public function save($newname)  
        {  
            $fun = "image".$this->type;  
            $fun($this->image, $newname.'.'.$this->type);  
        }  
      
        public function __destruct()  
        {  
            imagedestroy($this->image);  
        }  
    }  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇: PHP图片压缩

下一篇:PHP腾讯地图经纬度转百度地图经纬度