一尘不染

调整HTML5画布的大小以适合窗口

javascript

如何自动缩放HTML5 <canvas>元素以适合页面?

例如,我可以<div>通过将heightwidth属性设置为100%来缩放,但是<canvas>不会缩放吗?


阅读 407

收藏
2020-04-25

共1个答案

一尘不染

我相信我已经找到了一个优雅的解决方案:

JavaScript

/* important! for alignment, you should make things
 * relative to the canvas' current width/height.
 */
function draw() {
  var ctx = (a canvas context);
  ctx.canvas.width  = window.innerWidth;
  ctx.canvas.height = window.innerHeight;
  //...drawing code...
}

CSS

html, body {
  width:  100%;
  height: 100%;
  margin: 0;
}

到目前为止,对我没有太大的负面性能影响。

2020-04-25