<?php /** * 图片加文字水印,图片水印,压缩图片 * User: xiaoyu * Date: 2019/4/12 * Time: 11:50 */ class Image { private $image; private $info; //将图片保存到缓存中 //构造函数 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 __destruct() { imagedestroy($this->image); } //图片加图片水印 public function watermark($source, $local, $alpha) { //获取水印图片的基本信息 $info2 = getimagesize($source); $type2 = image_type_to_extension($info2[2], false); $fun2 = "imagecreatefrom{$type2}"; $water = $fun2($source); //合并图片 imagecopymerge($this->image, $water, $local['x'], $local['y'], 0, 0, $info2[0], $info2[1], $alpha); //销毁水印图片 imagedestroy($water); } //给图片加文字水印 public function fontmark($content, $font_url, $size, $color, $local, $angle) { //设置字体的颜色,透明度 $col = imagecolorallocatealpha($this->image, $color[0], $color[1], $color[2], $color[3]); //写入文本 imagettftext($this->image, $size, $angle, $local['x'], $local['y'], $col, $font_url, $content); } //压缩图片 public function thumb($width, $height) { $image_thumb = imagecreatetruecolor($width, $height); //将原图复制到新建的真色彩图片上,并按照一定比例压缩 imagecopyresampled($image_thumb, $this->image, 0, 0, 0, 0, 300, 300, $this->info['width'], $this->info['height']); imagedestroy($this->image); $this->image = $image_thumb; } //输出图片 public function outPut() { header("Content-type:" . $this->info['mime']); $funs = "image{$this->info['type']}"; $funs($this->image); } //保存图片 public function save($name) { $funs = "image{$this->info['type']}"; $funs($this->image, $name . '.' . $this->info['type']); } } ?>
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦