我想将svg加载到fabric.js,并能够编辑(更改)属于svg的文本。
但是,通过使用fabric.loadSVGFromURL()方法,我得到一个单独的对象(类型为" group"),包含所有类型的元素,包括文本。
我不知道以下解决方案是否是最佳方法,但我尝试用reviver函数解决问题:
fabric.loadSVGFromURL(
url,
function() {},
function(svgElement, fabricObject) {
if (fabricObject.type === "text") {
var text = fabricObject.text;
var optionsopt = fabricObject.toObject();
var newEditableText = new fabric.Itext(text, optionsopt);
canvas.add(newEditableText);
else {
canvas.add(fabricObject);
}
);
但是我在加载的svg
中遇到了tspan标签的问题答案 0 :(得分:0)
fabric.js SVG解析器不支持tspan。这仍然是一个悬而未决的问题:https://github.com/fabricjs/fabric.js/issues/1280
在上述问题页面上,您的问题可能有解决方法,但如果不知道您的tspans的具体行为,我就无法指出您的具体解决方法。