我将画布创建为 contenteditable ='true',并将剪贴板中的图像粘贴到画布顶部。如下图所示,图像出现在画布旁边而不是画布顶部。尝试将画布转换为图像时,我得到空图像。这是因为我的画布不能保存我之前粘贴的图像。我如何获得图像?
HTML
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" media="all" href="css/reset.css" /> <!-- reset css -->
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<style>
body{ background-color: ivory; }
canvas{border:1px solid red;}
</style>
<script>
function convert()
{
var canvas=document.getElementById("canvas");
var ctx=canvas.getContext("2d");
//ctx.fillRect(50,50,150,75);
var theImage=document.getElementById("toImage");
theImage.src=canvas.toDataURL();
}
</script>
</head>
<body>
<canvas id="canvas" width=300 height=300 contenteditable='true'></canvas>
<button type="button" onClick="convert()">Click</button>
<img id="toImage" width=300 height=300>
</body>
</html>
图片
答案 0 :(得分:1)
contenteditable
属性用于与文本相关的HTML元素,对<canvas>
元素不执行任何操作。
有关contenteditable
的详细信息,请参阅MDN。
答案 1 :(得分:1)
Canvas元素不是contexteditable
属性的例外,canvas元素和其他元素之间的区别在于canvas标签内的文本只处理不支持canvas元素时显示的内容。根据定义,contexteditable
处理元素标记内的文本,而不是您实际查找的canvas ctx上下文。如果您想在画布上查找绘图图像方法,可以找到演示on the w3Schools site