图片缩放函数

function thumb($srcImg,$path,$w,$h,$pre='s_'){
        //判断用户传入的图片是什么类型,调用什么类型的函数
            //获取传入图片的后缀
            $suffix = ltrim(strrchr($srcImg,'.'),'.');
            if($suffix == 'jpg'){
                $suffix = 'jpeg';
            }
            //制作变量函数的函数名称
            $func = 'imagecreatefrom'.$suffix;

        //1.打开已有的图片
        $img = $func($srcImg);
        //获取图片的宽高
        $width = imagesx($img);
        $height = imagesy($img);
        //3.等比例缩放运算
        if($width > $height){
            $dh = $h;
            $dw = $width * ($h / $height);
        }else{
            $dw = $w;
            $dh = $height * ($w / $width);
        }
        //4.创建画布
        $newImg = imagecreatetruecolor($dw,$dh);
        //5.拷贝图片
        imagecopyresampled($newImg,$img,0,0,0,0,$dw,$dh,$width,$height);
        //6.处理保存图片的路径
        if(!file_exists($path)){
            mkdir($path);
        }
            //拼接新路径
        $newPath = rtrim($path,'/').'/';
        $path = $newPath.$pre.basename($srcImg);
        //7.保存图片
        $img_func = 'image'.$suffix;
        $result = $img_func($newImg,$path);
        //8.释放资源
        imagedestroy($img);
        imagedestroy($newImg);
        return $result;
    }
posted @ 2022-02-28 11:58  unclesun  阅读(98)  评论(0)    收藏  举报