我需要获得一些维度来显示图像。
我想以图像最长边的最大像素大小显示图像。所以,如果最大长度应该是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;
}