用最小可能的整数分子和分母计算纵横比的公式
formula to calculate aspect ratio with smallest possible integer numerator and denominator
我想获取文件的纵横比(如图像或视频 | width
和 height
也是已知的)以尽可能小的 integer
值(整数)表示.
假设文件有一个 width = 300px
和一个 height = 100px
,所以宽高比是 3 / 1
。
但是如果我们有一个 width = 300px
和一个 height = 250px
呢?纵横比为1.2 / 1
。但正如我之前所说,我希望 numerator
和 denominator
都尽可能小 integer
值,在这种特殊情况下为 6 / 5
。
有公式可以直接计算这个还是我必须以编程方式计算?
这取决于您使用的是什么语言,但是如果您可以使用 gcd(最大公约数)访问数学库,它会是这样的
int gcd = gcd(width, height);
int numerator = width / gcd;
int denominator = height / gcd;
我想获取文件的纵横比(如图像或视频 | width
和 height
也是已知的)以尽可能小的 integer
值(整数)表示.
假设文件有一个 width = 300px
和一个 height = 100px
,所以宽高比是 3 / 1
。
但是如果我们有一个 width = 300px
和一个 height = 250px
呢?纵横比为1.2 / 1
。但正如我之前所说,我希望 numerator
和 denominator
都尽可能小 integer
值,在这种特殊情况下为 6 / 5
。
有公式可以直接计算这个还是我必须以编程方式计算?
这取决于您使用的是什么语言,但是如果您可以使用 gcd(最大公约数)访问数学库,它会是这样的
int gcd = gcd(width, height);
int numerator = width / gcd;
int denominator = height / gcd;