我们一直在使用该库,但在尝试将一些 png/jpeg 图标缩小很多时遇到了一些问题。无论我们尝试什么,结果都会是模糊的图像。因此我们决定 .svg 是要走的路。当尝试使用 fabric.loadSVGFromURL() 函数加载 .svg 时,控制台会回复“TypeError: n.reviver is not a function”。我们想要使用 fabric.loadSVGFromURL() 而不是 fabric.Image.fromURL() 的原因是后者似乎只显示 .svg 的一个部分而不是整个组。可以在这里看到:
所以当我们试图解决这个问题时,我们遇到了“类型错误”。现在我们被困住了。任何建议将不胜感激。
################## 编辑 - 添加代码##################
let addFurnitureToCanvas = (canvas, iconURL, noOfTables, iconName) => {
let addedItems = addedFurniture.get();
for (let i = 0; i < noOfTables; i++) {
fabric.loadSVGFromURL(iconURL, function(objects, options) {
let furniture = fabric.util.groupSVGElements(objects, options);
removeScalingCapabilities(furniture);
canvas.add(furniture);
addedItems.push(furniture);
}, { crossOrigin: 'anonymous'});
}
canvas.renderAll();
};
TypeError: n.reviver is not a function
at fabric.js:1
at Function.fromElement (fabric.js:1)
at fabric.ElementsParser.e.createObject (fabric.js:1)
at fabric.js:1
at Array.forEach (<anonymous>)
at fabric.ElementsParser.e.createObjects (fabric.js:1)
at fabric.ElementsParser.e.parse (fabric.js:1)
at Object.parseElements (fabric.js:1)
at Object.h.parseSVGDocument (fabric.js:1)
at i (fabric.js:1)