调整窗口大小以保持纵横比

时间:2018-04-19 23:37:33

标签: javascript

对于我一直在开发的一个小程序,我有一个有趣的问题。

基本上我想创建的是一个窗口,我可以调整大小,但仍然保持16:9的宽高比(注意这是使用NWJS的本机应用程序)。我也使用easelJS库来操作画布。

下面的程序基本上将画布的大小调整为与窗口大小相同,并且完美地完成了它的工作。但是我一直试图弄清楚如何保持窗口本身的纵横比。

var stage, w, h;

window.addEventListener('resize', resizeCanvas);
function resizeCanvas() {
    w = window.innerWidth;
    h = window.innerHeight;
    stage.canvas.width = w;
    stage.canvas.height = h;

我需要做什么样的计算来强制进行此设置?在谈到宽高比这样的事情时,我并不陌生。

1 个答案:

答案 0 :(得分:0)

您应该仅将计算基于一个轴,并从中获得新的高度和宽度 比例为16/9

 w = window.innerWidth;
 h = 9*window.innerWidth/16;