Canvas以html的形式获取整个文档正文并使其隐藏但可绘制

时间:2012-12-14 19:55:24

标签: javascript html css canvas document-body

我在stackoverflow问题中发现了如何在canvas http://jsfiddle.net/ArtBIT/kneDX/中绘制,现在我希望画布覆盖整个html页面。例如:

<body>
  <div id="2">
    //code
  </div>
  <div id="2">
    //code
  </div>
</body>

因此画布将附加到页面,用户可以绘制页面内容。那么有没有办法创建画布以便将100%的主体隐藏在绘画线之外?

编辑:

如何在上面的代码中不设圆圈的情况下连续画线?还有什么方法可以在文本上画一些东西,而不是在鼠标移过它时选择它吗?

2 个答案:

答案 0 :(得分:2)

首先,使画布的heightwidth属性等于page heightpage width。 (获取这些值非常困难,所以请查看链接的问题以获得最佳方法 - 或者只使用jQuery。)

接下来,添加一些CSS以使画布位于页面的绝对左上角:

#canvas {
    position: absolute;
    top: 0;
    left: 0;
}

然后,不会像现在这样通过调用ctx.clearTo来更改画布的背景颜色。画布为transparent by default,因此只要您不更改背景颜色,您就可以看到它下面的页面。

答案 1 :(得分:0)

传递正确的宽度和高度参数而不是(200,200)

使用window.screen.widthwindow.screen.height可以获得:http://jsfiddle.net/kneDX/878/

<强>更新

有了这个,我们最终会在画布上与窗口一样大,与客户区域的大小不同。请参阅apsillers's answer