Чтобы определить соотношение сторон , вам нужно иметь соотношение, к которому нужно стремиться.
function getHeight(length, ratio) {
var height = ((length)/(Math.sqrt((Math.pow(ratio, 2)+1))));
return Math.round(height);
}
function getWidth(length, ratio) {
var width = ((length)/(Math.sqrt((1)/(Math.pow(ratio, 2)+1))));
return Math.round(width);
}
В этом примере я использую 16:10
, поскольку это типичное соотношение сторон монитора.
var ratio = (16/10);
var height = getHeight(300,ratio);
var width = getWidth(height,ratio);
console.log(height);
console.log(width);
Результаты сверху будут 147
и 300