Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何避免html5画布中的文本重叠_Javascript_Html_Html5 Canvas - Fatal编程技术网

Javascript 如何避免html5画布中的文本重叠

Javascript 如何避免html5画布中的文本重叠,javascript,html,html5-canvas,Javascript,Html,Html5 Canvas,我从用户那里获取文本并显示在画布上。同样,如果用户在同一位置输入另一个文本,则该文本将重叠,而不是替换。如何解决此问题?使用clearRect并清除! 取决于您在画布上实际绘制场景的方式 要清除该文本,您可以执行以下操作: 如果要跟踪画布上绘制的元素(使用对象和数组),就像面向对象的画布框架一样,请删除跟踪文本的对象。在场景的下一次重画(或局部重画)过程中,不会绘制文本 或者,为了方便快捷,在文本上画一个与背景匹配的矩形。这类似于在纸上的墨水上放置修正液 你能举个例子吗?你花了多少精力来调试它

我从用户那里获取文本并显示在画布上。同样,如果用户在同一位置输入另一个文本,则该文本将重叠,而不是替换。如何解决此问题?

使用
clearRect
并清除!
取决于您在画布上实际绘制场景的方式

要清除该文本,您可以执行以下操作:

  • 如果要跟踪画布上绘制的元素(使用对象和数组),就像面向对象的画布框架一样,请删除跟踪文本的对象。在场景的下一次重画(或局部重画)过程中,不会绘制文本

  • 或者,为了方便快捷,在文本上画一个与背景匹配的矩形。这类似于在纸上的墨水上放置修正液


你能举个例子吗?你花了多少精力来调试它?可能是@VijetaKarani Welcome buddy!的复制品:)
context.clearRect(0, 0, canvas.width, canvas.height);