根据图像的宽度或高度计算值

时间:2015-03-01 11:24:50

标签: php

我想检查图像的高度或宽度是否更大。根据它,定义最大值。如果它是横向图片$limit = 1000;,如果它是垂直格式$limit = 600;

此后可以正确缩放图像(最大宽度为1000像素或600像素,具体取决于图像的格式)。如果图像小于该图像,则使用图像值。 (只是降尺度)。

取决于Get dimensions to transform image to a maximum value我不知道如何实现这两个不同的限制值:

$tmp = max($width, $height); # give me the bigger value
$limit = min($limit, $tmp); # if image dimension is lower, take that value
$factor = $tmp / $limit; # calculate factor to get the new dimensions

$new_width = $width / $factor;
$new_height = $height / $factor;

如果只有一个限制值(即1000),这种方法很有用。

我只需要值,不需要对图像进行真正的转换......

1 个答案:

答案 0 :(得分:0)

只有在您只想减少大图像而不调整较小图像大小时才需要

min(1,

$maxWidth = 1000;
$maxWidthIfVertical = 600;
$factor = $width > $height ? min(1, $maxWidth / $width) : min(1, $maxWidthIfVertical / $width);
$newWidth = $width * $factor;
$newHeight = $height * $factor;

使用此方法时请注意,请参阅我在此处添加的示例:http://jsfiddle.net/Wornet/z3z6fcr3/4/我认为这不是您想要的。

所以我推荐这个(宽度限制1000,高度限制为800): http://jsfiddle.net/Wornet/z3z6fcr3/6/