CreateJS:舞台或画布中的元素在窗口大小调整时无法正确缩放

时间:2016-06-27 16:23:37

标签: javascript html5 canvas createjs

所以我在调整窗口大小时调整舞台(画布)的大小。虽然画布本身正确地重新调整,但画布的内容并不是真正的缩放,在某些情况下,某些元素(例如:文本,按钮等)并不完全可见。

这是代码

stage = new Stage(document.getElementById("canvas"));

window.addEventListener('resize',resize,false);

function resize() {
  var w = window.innerWidth;
  var h = window.innerHeight;
  var ow = stage.canvas.width;
  var oh = stage.canvas.height;

  // keep aspect ratio
  scale = Math.min(w / ow, h / oh);
  stage.scaleX = scale;
  stage.scaleY = scale;

  // adjust canvas size
  stage.width = ow * scale;
  stage.height = oh * scale;

  stage.update();
}

我有什么遗失的吗?

1 个答案:

答案 0 :(得分:0)

一些简单的事情:

您无法设置舞台的宽度/高度,而应设置画布的大小。除非您尝试裁剪内容,否则您也不需要 来约束其宽高比。

stage.width = ow * scale;
stage.height = oh * scale;

接下来,您可以考虑将您的内容放在Container中,然后直接缩放,而不是直接缩放。

希望有所帮助!