Compressor 图片压缩类

实例化对象

$compressor = new \zxf\Tools\Compressor();
OR
$compressor = \zxf\Tools\Compressor::instance();

使用原始尺寸 仅压缩

设置压缩率[0~100]; eg:压缩70%
// 默认压缩 70%
$result = $compressor->set('001.jpg')->get();
// 指定压缩值80%
$result = $compressor->set('001.jpg')->compress(80)->get();

修改图片尺寸压缩

// 指定图片宽高
$result = $compressor->set('001.jpg')->resize(500, 400)->get();
// 或者按照图片等比例缩放:图片尺寸修改为原图的60%
$result = $compressor->set('001.jpg')->proportion(0.6)->get();

保存到指定位置

$result = $compressor->set('001.jpg', '/your/save/path/to.jpg')->get();

生成base64 字符串图片

$result = $compressor->set('001.jpg', null)->get();
// OR
$result = $compressor->set('001.jpg')->get();

返回压缩结果前获取图片压缩信息

包含了原图大小、尺寸信息、压缩后的图片大小、压缩率等信息
$result = $compressor->set('001.jpg')->get(funciont($res){
    // 打印图片信息
});

参数说明:

  • set(原图路径,保存后的路径); // 如果要直接输出到浏览器则只传第一个参数即可

  • resize(设置宽度,设置高度);//如果有一个参数为0,则保持宽高比例

  • proportion(压缩比例);//0.1~1 根据比例压缩

  • compress(压缩级别);//0~9,压缩级别,级别越高就图片越小也就越模糊

  • get();//获取生成后的结果

提示: proportion 方法 会去调用 resize 方法,因此他们两个方法只需要选择调用一个即可