我是 HTML5 的新手。
使用一个典型的元素和像 jQuery 这样的东西,我通常能够访问它的值
$("#elem").val();
编辑:说我写"abcd"
在画布元素中..我希望能够在某个数据库中“存储”“abcd”...
如果它是纯文本,我将使用 jquery 如上所示访问它,但使用绘图我不确定它是如何工作的?
如何使用画布元素实现相同的结果?我可以期待什么格式的结果?我是否必须获取所有 x,y 坐标的数组并对其进行解析?我得到图像吗?
谢谢你的帮助!
我是 HTML5 的新手。
使用一个典型的元素和像 jQuery 这样的东西,我通常能够访问它的值
$("#elem").val();
编辑:说我写"abcd"
在画布元素中..我希望能够在某个数据库中“存储”“abcd”...
如果它是纯文本,我将使用 jquery 如上所示访问它,但使用绘图我不确定它是如何工作的?
如何使用画布元素实现相同的结果?我可以期待什么格式的结果?我是否必须获取所有 x,y 坐标的数组并对其进行解析?我得到图像吗?
谢谢你的帮助!
您可以使用该getImageData()
方法。这将返回一个ImageData
对象。ImageData
包含一个width
属性、一个height
属性和一个CanvasPixelArray
本质上是位图的对象。ImageData 可能对于将数据加载回画布(使用该putImageData()
方法)最有用,但如果您愿意,也可以检查像素数组的原始数据。
看来我可能误解了你的问题。如果通过在数据库中存储“abcd”,您希望存储位图图像,那么您只需提取像素数据,然后将其存储为 BLOB 或类似对象。这就是我假设你的意思。
但是,如果您希望将实际文本“abcd”存储在您的数据库中,您将遇到更困难的时间。您需要将画布视为文字画布。一旦你把东西放在上面,它就会成为图像的一部分。它不像 SVG,可以再次提取特定组件。画布本质上是一个位图图像,因此如果您希望从中提取文本数据而无需访问设计算法,您将不得不使用某种 OCR 算法(这当然是非常不可取的)。
如果您确实希望提取文本数据,我建议您看一下 SVG,它在某些方面更灵活。MDN 有一系列关于该主题的相当全面的文章。
画布不存储对象,一切都只是光栅化的图像。因此,如果您想将画布数据作为对象访问,则必须使用画布库,即fabric.js