HTML Canvas - 动态更改文本

2024-05-26

当我在输入文本字段中输入内容时,我试图更改 html 画布上的文本。

但是,我可以添加文本,如果我删除并再次输入,新文本将添加到旧文本的顶部。

JSFIDDLE https://jsfiddle.net/bm7jv7bk/1/

document.getElementById('title').addEventListener('keyup', function() {
    var stringTitle = document.getElementById('title').value;
    console.log(stringTitle);
    ctx.fillStyle = '#fff';
    ctx.font = '60px sans-serif';
    var text_title = stringTitle;
    ctx.fillText(stringTitle, 15, canvas.height / 2 + 35);
    });

这有效。您只需在每次更新时清除画布即可。

document.getElementById('title').addEventListener('keyup', function() {
    var stringTitle = document.getElementById('title').value;
    console.log(stringTitle);
    ctx.fillStyle = '#0e70d1';
    ctx.fillRect(0, 0, canvas.width, canvas.height);
    ctx.fillStyle = '#fff';
    ctx.font = '60px sans-serif';
    var text_title = stringTitle;
    ctx.fillText(stringTitle, 15, canvas.height / 2 + 35);
    });

UPDATE

如果您只想更新文本所在的区域,您可以这样做,

ctx.fillRect(0, 130, canvas.width, 70);

另一种方法是跟踪文本以及画布中的其他对象并刷新整个画布。这并不像您想象的那样需要大量内存。如果需要,您还可以仅在文本被删除(完全或部分)时通过将前一个字符串与新字符串进行比较来重置画布。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML Canvas - 动态更改文本 的相关文章

随机推荐

  • 使用自动热键中的热键切换键

    So I tried to automate running in a game where the map is huge and I have to run miles I wanted to toggle on the hotkey
  • 如何在 R 中解析年份+周数?

    有没有一种好方法可以将年 周数转换为R中的日期 我已经尝试过以下方法 gt as POSIXct 2008 41 format Y U 1 2008 02 21 EST gt as POSIXct 2008 42 format Y U 1
  • android eclipse 中显示的是单独的屏幕而不是 tabhost

    我是android的自学者 我有两个屏幕 第一个屏幕包含一个编辑文本和一个按钮 编辑文本用于获取用户的输入 按钮用于调用第二个屏幕上的 tabhost 活动 在运行时 收到用户输入后 它应该显示适当的值 根据用户的输入 到第二个屏幕上的 t
  • Git 合并删除文件

    这是第二次发生这种情况 当我进行合并时 我后来意识到正在合并的分支中的一些文件不再位于正在合并的分支中 最新的例子是我们有一个功能分支 我一直在合并主开发分支中的更改 合并后我们丢失了很多文件 并且它们现在不存在于功能分支中 为什么会出现这
  • 测试 gRPC 服务

    我想测试用 Go 编写的 gRPC 服务 我使用的示例是 Hello World 服务器示例grpc go 仓库 https github com grpc grpc go blob master examples helloworld g
  • Fortran 中的共享库,最小示例不起作用

    我试图了解如何在 Linux 下的 Fortran 中动态创建和链接共享库 我有两个文件 第一个 liblol f90 看起来像这样 subroutine func print lol end subroutine func 我用它编译gf
  • 使用 librsvg / rsvg 通过 ImageMagick 转换 SVG 图像

    我知道这个问题在这里有几个答案版本 如下所示 ImageMagick 将 SVG 转换为 PNG 无法在启用 RSVG 的情况下工作 https stackoverflow com questions 11592085 imagemagic
  • 返回表中不存在的记录

    如何获取表中没有记录的ID 例如 select id name mail from users where id in 2 3 4 5 6 该查询返回记录 2 3 4 的输出 但不返回记录 5 和 6 因为表中不存在记录 现在我想知道表中没
  • 如何安装 leiningen 插件?

    如何安装 leiningen 插件 例如 leiningen run 我看到这个叫做 clojars org 的东西 以及如何 推 它 但我没有看到任何关于从中 拉 的东西 如果 Clojars 上有可用的插件 例如 lein run 只需
  • 在 PHP Codeigniter 中向 form_submit 添加一个类

    我正在尝试在 PHP Codeigniter 中向 form submit 添加一个类 我正在使用以下代码 attributes1 array class gt btn btn danger echo form submit loginSu
  • 从键值为空数组的 JS 对象中删除

    我正在尝试从值为 Array 0 的对象中删除键 这是对象 fruit Array 1 dairy Array 2 vegetables Array 0 这是期望的结果 fruit Array 1 dairy Array 2 到目前为止 我
  • 谷歌地图路线生成与航点

    我有一个现有的应用程序 可以跟踪车辆并在地图上渲染其折线 并且我希望能够使用路由服务将这些折线导入到另一个应用程序中 以便导入的折线捕捉到道路并可以拖动 ETC 我目前正在做的是编码 var encoded path google maps
  • 添加 UITabBarController 时出错

    我在用着单点触控C 编写具有多个不同屏幕的 iPhone 应用程序 为了简单起见 我将仅描述导致我遇到问题的控制器的几个屏幕 我遇到的问题是 当我创建一个继承自的类时 我收到此错误消息UITabBar控制器 应用程序窗口应该有一个根视图控制
  • 如何在gnuplot中将字符串转换为数字

    有没有办法将表示数字 以科学格式 的字符串转换为 gnuplot 中的数字 IE stringnumber 1 0e0 number myconvert stringnumber plot 1 1 number 我可能使用 shell 命令
  • 如何在 MongoDB 中获取连接的客户端

    我正在编写一个使用 mongo 作为数据库的应用程序 我想打印连接到数据库的客户端 例如打印他们的ip 我怎样才能得到这些信息 我尝试使用 db serverStatus connections 但它给了我可以访问我的数据库的计算机数量 您
  • 从本地存储中删除数组项

    我在本地存储中存储了一个数组 将其解析为 json 我将它放回到一个对象中 从中删除了一些项目 我需要使用本地存储中的新值更新密钥 var counter 0 1 2 var count counter 0 var questions lo
  • cudaDeviceScheduleBlockingSync 和 cudaDeviceScheduleYield 之间有什么区别?

    正如这里所说 如何减少 CUDA 同步延迟 延迟 https stackoverflow com questions 11953722 how to reduce cuda synchronize latency delay 等待设备结果有
  • 为 CMake 中的子目录生成“干净”目标

    我想生成一个clean子目录的目标 我的项目结构是这样的 app A B lib A B C 有时我只想在 app A 上运行干净 并且不想清理库 是否可以告诉 CMake 生成clean每个目录的目标 或者像这样的自定义目标应用程序清理哪
  • 如何在 C# 中从 sql server 运行代码 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions SqlCommand cmd new
  • HTML Canvas - 动态更改文本

    当我在输入文本字段中输入内容时 我试图更改 html 画布上的文本 但是 我可以添加文本 如果我删除并再次输入 新文本将添加到旧文本的顶部 JSFIDDLE https jsfiddle net bm7jv7bk 1 document ge