仗剑江湖载酒行

指定最大宽高,按比例缩放图片

2020.01.10

有时候啊,可能要限制图片的尺寸在一定的范围内,又不能改变图片的形状,以下方法能根据最大宽高,按比例算出新的宽高。

// 根据最大宽高来计算缩略图尺寸
function scaling_size($width, $height)
{
    $maxWidth = $maxHeight = 1024;

    // 缩略图最大宽度与最大高度比
    $maxRatio = $maxWidth / $maxHeight;
    // 原图宽高比
    $ratio = $width / $height;

    if ($ratio / $maxRatio >= 1) {
        $newWidth = $maxWidth;
        $newHeight = $maxWidth / $ratio;
    } else {
        $newHeight = $maxHeight;
        $newWidth = $maxHeight * $ratio;
    }

    return [$newWidth, $newHeight];
}