在子类中使用FabricJS loadSVGFromURL

时间:2015-05-26 06:39:24

标签: javascript canvas svg fabricjs subclassing

我在browswermob-proxy中有一个基于FabricJS组的自定义子类:

FabricJS

如何在此自定义组中包含SVG。我希望能够从类似于此的URL加载SVG:

var canvasObject = fabric.util.createClass(fabric.Group, {

                  type: 'canvasObject',

                  initialize: function(options) {
                    options || (options = { });
                    this.callSuper('initialize', options);

                    var rectBase = new fabric.Rect({
                       fill : 'red',
                       originX: 'left',
                       originY: 'top',
                       left: options.margin.l,
                       top: options.margin.t,
                       width : (options.width-options.margin.l-options.margin.r),
                       height :(options.height-options.margin.t-options.margin.b),
                    });


                    var labeledRect = new LabeledRect({
                      width: options.width,
                      height: options.height,
                      'idname': options.idname,
                      background: 'transparent',
                      labelFont: '14px Helvetica',
                    });



                    this.callSuper('initialize', [labeledRect, rectBase], options);

                  },

                  toObject: function() {
                    return fabric.util.object.extend(this.callSuper('toObject'), {
                      idname: this.get('idname')
                    });
                  },

                  _render: function(ctx) {
                    this.callSuper('_render', ctx);
                  }
                });

但是要将它添加到我的自定义组中的画布上 - 这样添加的每个canvasObject都可以附加一个SVG。

我尝试将SVG添加到PathGroup对象中 - 但我不确定异步加载是否正在使用它。

我还希望能够更新每个组中的SVG图像。如何更新类似于更新对象属性的SVG路径内容?

0 个答案:

没有答案