对于我一直在开发的一个小程序,我有一个有趣的问题。
基本上我想创建的是一个窗口,我可以调整大小,但仍然保持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;
我需要做什么样的计算来强制进行此设置?在谈到宽高比这样的事情时,我并不陌生。
答案 0 :(得分:0)
您应该仅将计算基于一个轴,并从中获得新的高度和宽度 比例为16/9
w = window.innerWidth;
h = 9*window.innerWidth/16;