TP5 图片压缩

254 阅读1分钟
<?php 
namespace ImageCompress;
 
/**
 * 图片压缩类:通过缩放来压缩。
* 如果要保持源图比例,把参数$percent保持为1即可。
* 即使原比例压缩,也可大幅度缩小。数码相机4M图片。也可以缩为700KB左右。如果缩小比例,则体积会更小。
* Author @XiaoTaiTai  2018-8-6
* 结果:可保存、可直接显示。
*/
class Compress {
 
    private $src;
    private $image;
    private $imageinfo;
    private $percent = 0.5;
 
    /**
     * 图片压缩
     * @param $src 源图
     * @param float $percent  压缩比例
     */
    public function __construct($src, $percent=1)
    {
        $this->src = $src;
        $this->percent = $percent;
    }
 
 
    /** 高清压缩图片
     * @param string $saveName  提供图片名(可不带扩展名,用源图扩展名)用于保存。或不提供文件名直接显示
     */
    public function compressImg($saveName='')
    {
        $this->_openImage();
        if(!empty($saveName)) $this->_saveImage($saveName);  //保存
        else $this->_showImage();
    }
 
    /**
     * 内部:打开图片
     */