在 HTML5 Canvas 中,在图像(已经在画布上)上绘制 和移动 线条并保留下方图像的最简单方法是什么? (例如,有一条垂直线跟踪鼠标 X 位置)
我目前的画布:
$(document).ready(function() {
canvas = document.getElementById("myCanvas");
context = canvas.getContext("2d");
imageObj = new Image();
imageObj.onload = function() {
context.drawImage(imageObj, 0,0);
}
imageObj.src = "http://example.com/some_image.png";
$('#myCanvas').click(doSomething);
});
原文由 Asaf Bartov 发布,翻译遵循 CC BY-SA 4.0 许可协议
您将必须使用画布完成大部分基础工作,在这种情况下,您将必须实现移动线条的功能,然后重新绘制所有内容。
步骤可以是:
您可以重新绘制整个背景,也可以对其进行优化以仅绘制最后一行。
这是一些示例代码和 现场演示:
现在我们需要做的就是有一个机制来更新每一步的背景和线条:
自定义线对象在这个演示中非常简单:
如果您不打算对图像本身做任何特定的事情,您也可以使用 CSS 将其设置为背景图像。不过,在重新绘制线条之前,您仍然需要清除画布。