[英]Calculate correct reduced in proportion photo size in width and height in php?
我有2个有关我要导入的照片的宽度,高度和变量。(我可以使用imagesx等,但是我要成批导入,它花费的时间太长了)
例如..
$w = 720;
$h = 540;
如果我说最大宽度为180px,我知道正确的高度应该为135px(在标准风景照片上),那么如何为照片设置正确的高度。 但是我给出的起始宽度和高度将根据照片而变化。
保持图像成比例我需要做哪些计算才能锻炼减小的宽度和高度?
最终结果将以像素为单位,因此不能有任何小数位。
(我实际上不需要调整照片的大小,只需计算大小即可。)
提前致谢 :)
这是@fire答案的javascript版本
scaleDimensions : function(orig_width, orig_height, max_width, max_height) {
if (orig_width < max_width && orig_height < max_height) {
return [orig_width, orig_height];
}
var ratiow = max_width / orig_width;
var ratioh = max_height / orig_height;
var ratio = Math.min(ratiow, ratioh);
var width = (ratio * orig_width).toFixed(0);
var height = (ratio * orig_height).toFixed(0);
return [width, height];
}
这是我使用的一个:
function scaleDimensions($orig_width, $orig_height, $max_width, $max_height) {
if ($orig_width < $max_width && $orig_height < $max_height) {
return array($orig_width, $orig_height);
}
$ratiow = $max_width / $orig_width;
$ratioh = $max_height / $orig_height;
$ratio = min($ratiow, $ratioh);
$width = intval($ratio * $orig_width);
$height = intval($ratio * $orig_height);
return array($width, $height);
}
用法:
list($width, $height) = scaleDimensions($w, $h, 180, 135);
720x = 540 * 180
这是一个简单的交叉乘法规则。 然后四舍五入数字以除去小数部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.