<?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 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦