php 分别降低图片尺寸与质量的方法

在安装了php扩展imagick 的条件下,执行以下代码:

方法一:降低图片大小尺寸
应用场景:将某3000x3000px降低至500x500px

     $src_img = 'D:\phpstudy_pro\WWW\api.321.design\f57ce202009151149386590.jpg';
     $ai = new \Imagick($src_img);
     $ai->thumbnailImage(1200,1200);#如果给定第三个参数true 的话则按最大边1200处理
     $path = ROOT_PATH. "99999.png";
     $ai->writeImage($path);
     d($path);

方法二:降低图片质量
应用场景:将某23M的图片降低至1.6M

/**
* $src_img 本地文件
* $quality 压缩数值,按100比
*/
 function reduceQuality($src_img, $quality = 70, $dest_img = '')
    {
    
    
        $imagick = new \Imagick();
        $dest_img = ROOT_PATH . '8888.jpg';
        $imagick->readImage($src_img);
        $imagick->setImageCompression(\Imagick::COMPRESSION_JPEG);
        $imagick->setImageCompressionQuality($quality);
        $imagick->writeImage($dest_img);
        return $dest_img;


    }