Fabric.js - fabric.loadSVGFromURL 给出 TypeError: n.reviver is not a function

时间:2021-04-20 08:31:40

标签: fabricjs

我们一直在使用该库,但在尝试将一些 png/jpeg 图标缩小很多时遇到了一些问题。无论我们尝试什么,结果都会是模糊的图像。因此我们决定 .svg 是要走的路。当尝试使用 fabric.loadSVGFromURL() 函数加载 .svg 时,控制台会回复“TypeError: n.reviver is not a function”。我们想要使用 fabric.loadSVGFromURL() 而不是 fabric.Image.fromURL() 的原因是后者似乎只显示 .svg 的一个部分而不是整个组。可以在这里看到:

https://imgur.com/a/XswMH6B

所以当我们试图解决这个问题时,我们遇到了“类型错误”。现在我们被困住了。任何建议将不胜感激。

################## 编辑 - 添加代码##################

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)

0 个答案:

没有答案