根据视口调整 Canvas 的大小
Adapt the size of a Canvas according to the viewport
我尝试创建一个 Canvas 具有适合屏幕大小的建议
目前我正在使用这个:
JS
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
const img = new Image();
img.src = './media/assets.png';
const render = function() {
context.canvas.width = document.documentElement.clientWidth * 1;
context.canvas.height = document.documentElement.clientHeight * 0.95;
};
window.addEventListener("resize", render);
render();
CSS
* { box-sizing:border-box; margin:0; padding:0; }
html { height:100%; width:100%; }
body {
align-content:space-around;
background-color:#202830;
color:#ffffff;
display:grid;
justify-content:center;
font-size:1.25em;
min-height:100%;
width:100%;
}
但是这不起作用我有一个错误“上下文未定义”
是否可以直接在index.css文件中定义这两项?
context.canvas.width = document.documentElement.clientWidth * 1;
context.canvas.height = document.documentElement.clientHeight * 0.95;
直接在渲染中定义 Canvas 的大小让我很困扰
您没有变量 context
,在您的代码中将其命名为 ctx
,
更新到:
...
ctx.canvas.width = document.documentElement.clientWidth * 1;
ctx.canvas.height = document.documentElement.clientHeight * 0.95;
...
您也可以直接设置为您的canvas:
canvas.width = document.documentElement.clientWidth * 1;
canvas.height = document.documentElement.clientHeight * 0.95;
所以两者都指的是您的 canvas 元素
我尝试创建一个 Canvas 具有适合屏幕大小的建议
目前我正在使用这个:
JS
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
const img = new Image();
img.src = './media/assets.png';
const render = function() {
context.canvas.width = document.documentElement.clientWidth * 1;
context.canvas.height = document.documentElement.clientHeight * 0.95;
};
window.addEventListener("resize", render);
render();
CSS
* { box-sizing:border-box; margin:0; padding:0; }
html { height:100%; width:100%; }
body {
align-content:space-around;
background-color:#202830;
color:#ffffff;
display:grid;
justify-content:center;
font-size:1.25em;
min-height:100%;
width:100%;
}
但是这不起作用我有一个错误“上下文未定义”
是否可以直接在index.css文件中定义这两项?
context.canvas.width = document.documentElement.clientWidth * 1;
context.canvas.height = document.documentElement.clientHeight * 0.95;
直接在渲染中定义 Canvas 的大小让我很困扰
您没有变量 context
,在您的代码中将其命名为 ctx
,
更新到:
...
ctx.canvas.width = document.documentElement.clientWidth * 1;
ctx.canvas.height = document.documentElement.clientHeight * 0.95;
...
您也可以直接设置为您的canvas:
canvas.width = document.documentElement.clientWidth * 1;
canvas.height = document.documentElement.clientHeight * 0.95;
所以两者都指的是您的 canvas 元素