Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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,我用fillText()在HTML5画布中填充了一个文本 如何使其可编辑并将值读入变量? 文本必须在画布中,因为它将被写入一些复杂的多边形形状中。您无法从画布中获取文本。您需要做的是在使用fillText()之前将文本保存在变量中并渲染画布。当您想要编辑画布中的文本时,必须再次绘制画布,并且当您想要使用fillText()呈现编辑的文本时,必须再次读取变量中的文本一旦文本被绘制到画布上,它就会变成像素。原始文本(和多边形轮廓)将不会被存储。你不能从画布上取回它,就像你不能从jpg或png文件中取

我用
fillText()在HTML5画布中填充了一个文本
如何使其可编辑并将值读入变量?

文本必须在画布中,因为它将被写入一些复杂的多边形形状中。

您无法从画布中获取文本。您需要做的是在使用
fillText()之前将文本保存在变量中并渲染画布。当您想要编辑画布中的文本时,必须再次绘制画布,并且当您想要使用
fillText()呈现编辑的文本时,必须再次读取变量中的文本

一旦文本被绘制到画布上,它就会变成像素。原始文本(和多边形轮廓)将不会被存储。你不能从画布上取回它,就像你不能从
jpg
png
文件中取回一样


如果画布由JavaScript绘制,则可以将文本存储在其他位置。如果没有,你必须进行OCR。

看看斑马。它是一组在html画布上呈现的小部件,其中一个小部件是文本编辑器。看起来它是免费的,开源的,除了提供到js文件的链接外,他们还在GitHub上有一个Git存档

您可以使用这样的库,它使您能够创建文本对象,实时编辑它们,删除、克隆、移动、旋转、缩放它们,等等。。。单击演示页面上的“添加文本”,然后选择它并在画布下方的文本区域进行编辑。文本显示也有多种选项,如加下划线、划过或带阴影。@kangax有使用Fabric.js实时编辑文本对象的示例吗?kitchensink演示可以添加文本,之后可以随意缩放和旋转-但是有没有简单的方法来编辑文本内容?@MathiasBynens在kitchensink中,您可以在独立的文本区域编辑文本,文本会立即反映在画布上(在画布下)。我们在上使用相同的方法,我在其他地方也看到了这种想法的一些变化(例如,在上,他们将textarea定位在您正在编辑的文本旁边)。固定链接: