【问题标题】:fabric js - How to check if the pattern applied to the svgfabric js - 如何检查模式是否应用于 svg
【发布时间】:2019-03-17 10:31:48
【问题描述】:

我有一个 svg,我在其中应用了图像模式。有时模式没有应用,当我再次重新渲染时,它会被应用。那么有没有办法检查模式是否应用成功?

function gdrawGenSvgobj(varsvg, varpattern, callback) {
            if (varsvg == 0 || varsvg == undefined) { callback(); }
            else {
                fabric.loadSVGFromURL(varsvg, function (objsvg) {
                    var gensvg = new fabric.PathGroup(objsvg, { left: 0, top: 0, width: 620, height: 641 });
                    gensvg = gensvg.setPatternFill({ source: varpattern, repeat: 'repeat', offsetX: 'left', offsetY: 'top' });
                    canva.add(gensvg);
                    callback();
                });
            }
        }

【问题讨论】:

    标签: javascript svg fabricjs


    【解决方案1】:

    setPatternFill 将回调作为第二个参数,在那里调用requestrenderAll/renderAll

    如演示中所述。

    object.setPatternFill({
      source: 'http://fabricjs.com/assets/escheresque_ste.png',
      repeat: 'repeat'
    },canvas.renderAll.bind(canvas));
    

    【讨论】:

    • 谢谢,但这不是我想要的。我已经尝试过了。它有时仍然不适用。我正在寻找一种方法来检查它是否应用成功。
    • @SO-user,你能让 sn-p/fiddle 产生问题吗?
    猜你喜欢
    • 1970-01-01
    • 2018-08-21
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多