首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否将html文档中的所有<canvas>设置为文档的宽度和高度?

是否将html文档中的所有<canvas>设置为文档的宽度和高度?
EN

Stack Overflow用户
提问于 2012-05-18 05:56:35
回答 2查看 388关注 0票数 0

如果不使用jquery (即只使用旧的javascript),我如何将html文档中的所有画布设置为文档的宽度和高度?

EN

Stack Overflow用户

发布于 2012-05-18 06:15:26

注意:首席执行官和Naelio的答案在技术上都是不正确的。

Naelio:更改画布的样式将更改画布的CLIENT WIDTH和CLIENT HEIGHT,而不是代码实际的<>e213宽度和高度,因此画布内容最终将被缩放/拉伸。

这个问题的例子在这里:http://jsfiddle.net/AnLCw/1/ (注意黑色50x50正方形是如何使用样式方法拉伸的)

Chief17:不能按百分比指定画布的宽度和高度。这里的问题示例:http://jsfiddle.net/Sg7cb/2/ (请注意,当宽度和高度为百分比时,不会显示画布)

下面是实际的解决方案

您需要将画布的样式设置为:宽度: 100%,高度: 100%

代码语言:javascript
运行
复制
canvas.style.width = "100%"
canvas.style.height = "100%"

然后执行以下操作:

代码语言:javascript
运行
复制
canvas.width = canvas.clientWidth
canvas.height = canvas.clientHeight

这里的工作示例:http://jsfiddle.net/acYdc/1/ (请注意黑色正方形是如何正确绘制的,画布是如何填充该区域的。)

另一种解决方案就是设置

代码语言:javascript
运行
复制
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;

但是canvas.width = canvas.clientWidth方法更灵活。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10644069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档