我正在使用 fTelnet.js - 我已经了解了 this_Font.GetChar() 代码,发现所有字符都来自字体 Sprite ,它 getItemData(....) 更改像素为 0x80 的颜色并将其着色为前景 [r][g][b][alpha],或将其着色为背景 [r][g][b][alpha]。
由于 Unicode 超出了其 40 多种字体的范围 - 我需要作弊和 .createElement("div"), .innerHTML = "\u#####";然后以某种方式将其作为 ImageData,这样我就可以修补上述逻辑并向 fTelnet 的 Canvas 例程引入 unicode 支持。
有谁知道我需要什么命令才能执行此操作?例如我花了几个小时试图通过 Google、HTML5 Context 文档解决这个问题,但没有成功......主要是不知道我在搜索什么;-)
或者当我重新阅读这篇文章时...也许是一个隐藏的 Canvas ,请执行 ctx.linesText("\u#####", 25, 50);然后从该 CTX 作为 IMAGEDATA 复制到显示的? (那么我会查找什么命令?)...我通常不会涉足 2D/3D 图形世界(显然)...
问候,
最佳答案
一般来说,将 HTML 渲染到 Canvas 上是不可能的 - 这似乎是设计使然(这会使污染等问题更难以导航)。
但是将一张 Canvas 压在另一张 Canvas 上很简单 - 您只需使用标准的 #drawImage
调用即可,与您在 Canvas 上绘制的任何其他图像相同。
实际上,如果你 look at the API documentation然后单击定义,您将看到可以使用drawImage“标记”任何 svg 或 html 图像、位图、屏幕外 Canvas 、视频或音频标签的实例。
关于javascript - JavaScript 是否可以创建一个 div,在该 div 中放入\u#### 字符,然后作为 putImage 复制到 Canvas ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58620816/