如何清除 <canvas> 元素中的文本?

新手上路,请多包涵

我将文本放在 <canvas> 标签中的图像上(文本取自输入框)。

现在,如果我在 <canvas> 上放置一个新文本,它将强加于之前的文本。在放入新文本之前如何清除画布上的现有文本?

我尝试通过分配 canvas.width 来重置画布,但文本仍然存在。有帮助的人吗?

原文由 redGREENblue 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 729
1 个回答

如果您知道要添加和删除大量文本,那么跟踪旧文本可能是有意义的。然后你可以使用这个:

 context.fillStyle = '#ffffff'; // or whatever color the background is.
context.fillText(oldText, xCoordinate, yCoordinate);
context.fillStyle = '#000000'; // or whatever color the text should be.
context.fillText(newText, xCoordinate, yCoordinate);

这样您就不必每次都重新绘制整个画布。

原文由 Skunkwaffle 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题