[英]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.