Subclassed Image添加文本但图像隐藏它

时间:2015-05-06 06:03:16

标签: fabricjs

我已将Image类子类化,以便我可以为其添加标签。但是,文本似乎在图像之前呈现,使得图像隐藏标签。以下是课程声明。请注意,我尝试在_render()方法的末尾调用callSuper(),这对我来说没有任何意义,并且它不起作用。对我来说,如果首先调用super,然后在文本应该在右上角之后添加文本,那么似乎是

    var Cabinet = fabric.util.createClass(fabric.Image, {

    type: 'cabinet',

    initialize: function(element, options) {
        options || (options = { });

        this.callSuper('initialize', element, options);
        this.set('label', options.label || '');
        this.set('height', options.height || 48);
        this.set('width', options.width || 24);
    },

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

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

        var txtOffset = this.label.length * 6;

        ctx.fillStyle = '#000';
        if (this.get('angle') !== 0) {
            ctx.font = '11px Arial Narrow';

            //ctx.save();
            ctx.rotate(90 * Math.PI/180);
            ctx.fillText(this.label, (this.width / 2) - (txtOffset / 2) - 8, this.height - 10);
            //ctx.restore();

        } else {
            ctx.font = "9px Arial Narrow";
            ctx.fillText(this.label, (this.width / 2) - (txtOffset / 2) - 8, this.height - 10);
        }
    }
 });

感谢您提供的任何帮助。

谢谢, 罗布

0 个答案:

没有答案