获取将图像转换为最大值的尺寸


Get dimensions to transform image to a maximum value

我需要获得一些维度来显示图像。

我想以图像最长边的最大像素大小显示图像。所以,如果最大长度应该是1000px,我必须检查高度或宽度是否更大。之后,我按照正确的比例调整尺寸。如果图像尺寸小于1000px,则不会发生任何事情。

这是我的解决方案,已经奏效了。但我感觉不太好。有更聪明的解决方案吗?

dimensions(1000);
function dimensions($limit) {           
    if ($width >= $height) {
        if ($width < $limit) $limit = $width;
        $factor = $width / $limit;
    }
    else {
        if ($height < $limit) $limit = $height;
        $factor = $height / $limit;
    }   
    $new_width = $width / $factor;
    $new_height = $height / $factor;
}

我的示例代码:

function dimensions($limit) { 
    $tmp = max($width, $height);
    $limit = min($limit, $tmp);
    $factor = $tmp / $limit;
    $new_width = $width / $factor;
    $new_height = $height / $factor;
}