Windows8Javascript将Canvas设置为填充屏幕
Windows 8 Javascript set Canvas to fill screen
我正在尝试使用Windows8/WinJS创建一个HTML5画布。这是我的:
var body = document.getElementById("body");
var canvas = document.createElement("canvas");
canvas.id = "myCanvas";
body.appendChild(canvas);
var canvasContext = canvas.getContext("2d");
canvas.width = document.width;
canvas.height = document.height;
canvasContext.fillStyle = "#f00";
canvasContext.fillRect(canvas.width - 100, canvas.height - 50, 100, 50);
console.log("canvas width " + canvas.width + ", height " + canvas.height);
大部分内容直接来自教程,但对于我看过的所有教程,宽度和高度都设置为硬编码数字,例如:
canvas.width = 800;
canvas.height = 600;
诚然,这确实有效,但无论分辨率如何,我都希望画布和屏幕一样大。我该如何做到这一点?
您只需使用带有和视口高度CSS值的视口即可完成此操作(请参阅此处的一些信息(
在这种特定的情况下,你可以做:
canvas.style.width = "100vw";
canvas.style.height = "100vh";
此解决方案的优点是,您不必加载第三方库,例如JQuery,使其大小达到全宽/全高。
您所说的"屏幕"是指浏览器窗口的大小吗?
如果是这样,您可以使用window.outerWidth和window.outerHeight来代替document.width和document.height。或者,如果您使用jQuery:$(window(.width((和$(window(.height((。
此外,您还希望在窗口上侦听调整大小事件,以便在调整浏览器大小时重新初始化画布。
相关文章:
- 如何设置html元素填充的动画
- 如何使用jquery在填充自动完成的值后使文本框只读
- 如何通过ajax刷新JSF填充的javascript变量
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 用与线条相同的颜色填充多折线图上的点
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 两列布局,两列高度相同且均填充屏幕的整个高度
- 根据屏幕高度动态填充框
- 如何放置填充整个屏幕但在底部某个位置停止的背景图像
- d3 svg填充屏幕
- 使图像填充屏幕,在不同分辨率下保持宽高比
- 我如何使图像填充90%的屏幕而不失去长宽比
- 用d3填充整个屏幕
- 我如何使Html5/Javascript画布填充窗口屏幕
- Windows8Javascript将Canvas设置为填充屏幕
- 调整幻灯片大小以填充屏幕
- 进度条应该在屏幕上可见时开始填充