【发布时间】:2021-08-09 01:28:26
【问题描述】:
我有一个像这样的 SVG 字符串
<svg ...> <image id="Lager_1" data-name="Lager 1" width="2" height="3" xlink:href="data:image/png;base..." y="0" x="0" x_rel="0" y_rel="0" width_rel="0.2" height_rel="0.2" obj_id="0f83a8ca168e" comp_id="2c46c64a13c0"/> ...
我添加了一些额外的属性,例如x_rel、y_rel、obj_id 和comp_id。但是,一旦我尝试使用 FabricJS loadSVGFromString 将这个 SVG 加载到画布上,如下所示:
fabric.loadSVGFromString(svg, (objects, options) => {
objects.forEach(obj => {
console.log(obj)
canvas.add(obj)
})
然后像这样输出画布的内容
console.log(canvas)
要么
console.log(canvas.toObject())
我发现我的自定义属性已丢失且不再包含在内,是否有解决方案?
【问题讨论】:
-
一个 SVG 基本上就是一个 xml 字符串。您可以使用 DOMParser() 对其进行解析以获取所需的属性。 w3schools.com/xml/xml_parser.asp
标签: javascript reactjs fabricjs