屏幕比例

都知道常见的手机屏幕比例有16:9、18:9、19.5:9…
日常开发过程中,一般关心的是屏幕的分辨率,很少关心屏幕的比例。
可是我就遇到了,在此记录一下计算方法。

已知屏幕的分辨率求屏幕比例

19201080的屏幕一般接触得毕竟多,都知道该屏幕比例为16:9。
计算式: 1920÷120:1080÷120 = 16:9
其中120是最大*公约数
,就是能够被 1920和 1080 共同整除的数。
我们的主要逻辑就是计算出最大公约数。

计算代码如下:

1
2
3
4
5
6
7
8
9
10
11
//整除数计算,欧几里德算法
function aliquot (width, height) {
if (width % height == 0) return height;
return aliquot(height, width % height);
}

var width = 1920; //宽度
var height = 1080; //高度
var divisor = aliquot(width, height); //获整除数
var ratio = (width/divisor )+':'+(height/divisor ); //比例
console.log('屏幕比例为'+ratio); //屏幕比例为16:9

原文链接