随着新HTML5 Canvas的出现,我想知道是否可以在画布上绘制HTML部分?
我们的想法是获取一段现有的HTML代码(来自同一页面,或在其他地方定义)并将其转换为图形。
类似的东西:
htContext.drawElement(document.getObjectByID("someObj"),0,0);
答案 0 :(得分:3)
Firefox拥有专有方法drawWindow。有了它,您可以在画布上绘制整个文档。但不幸的是只在火狐中。而且由于安全问题,您需要用户的权限才能执行此操作。所以它只适用于某种内部项目。
以下是示例测试页面:
<!DOCTYPE html>
<html>
<head>
<title>drawWindow</title>
<script>
window.onload = function(){
netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
document.getElementById('canvas').getContext('2d').drawWindow(window, 0, 0, 100, 200, "rgb(255,255,255)");
}
</script>
</head>
<body>
<h1>Test</h1>
<canvas id="canvas"></canvas>
</body>
</html>