如何根据图像尺寸计算可读格式比率

时间:2013-05-16 06:13:23

标签: php math

我想从给定的一组维度(例如40x60)计算可读格式比率(例如3:4或2:3)。

可能是非常基本的数学,但我无法绕过它。

任何人都知道如何在PHP中完成这项工作?

function computeReadableRatio($x, $y){
   // ???
}

2 个答案:

答案 0 :(得分:2)

gmp_gcd将为您提供分配两个输入的最大数字。然后你可以通过结果来划分你的缩减比率。

<?php

function computeReadableRatio($x, $y){
   $d = gmp_gcd($x, $y);
   $xnew = gmp_div($x, $d);
   $ynew = gmp_div($y, $d);

    echo gmp_strval($d) . ' ' . gmp_strval($xnew) . ' ' . gmp_strval($ynew);

}

computeReadableRatio(40, 60);
?>

答案 1 :(得分:2)

由于您经常无法获得完全匹配所需比率的数字,因此您可以对其商数进行continued fraction扩展。截断连续分数可以给你best rational approximation。截断的点取决于你,平衡小数字与结果的准确性。