Resize HTML5 canvas to fit window(调整 HTML5 画布大小以适应窗口)
问题描述
如何自动缩放 HTML5 <canvas>
元素以适应页面?
How can I automatically scale the HTML5 <canvas>
element to fit the page?
例如,我可以通过将 height
和 width
属性设置为 100% 来使 <div>
进行缩放,但是<canvas>
不会缩放,对吗?
For example, I can get a <div>
to scale by setting the height
and width
properties to 100%, but a <canvas>
won't scale, will it?
推荐答案
我相信我已经找到了一个优雅的解决方案:
I believe I have found an elegant solution to this:
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;
}
到目前为止,对我的性能没有任何大的负面影响.
Hasn't had any large negative performance impact for me, so far.
这篇关于调整 HTML5 画布大小以适应窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:调整 HTML5 画布大小以适应窗口
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- Fetch API 如何获取响应体? 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01