0
ITextを拡張するクラスを作成しました。選択のような枠線を描きたいと思います。Fabricjsカスタムクラスのボーダーと背景
下のクラスコード:(fiddle exemple)
var LabeledBubble = fabric.util.createClass(fabric.IText,{
type: 'labeledBubble',
initialize: function(options) {
options || (options = {});
this.callSuper('initialize',options);
this.set('bubbleType',options.bubbleType || 'Rect');
this.set('backColor',options.backColor || '#FFF');
this.set('borderColor',options.borderColor || '#000');
this.set('borderWidth',options.borderWidth || 1);
this.set('borderDash',options.borderDash || []);
this.textAlign = "center";
},
toObject: function() {
return fabric.util.object.extend(this.callSuper('toObject'),{
bubbleType: this.get('bubbleType')
});
},
_render: function(ctx,noTransform) {
var w = this.width,
h = this.height,
x = noTransform ? this.left : -this.width/2,
y = noTransform ? this.top : -this.height/2;
ctx.save();
ctx.fillStyle = "#FF0000";
ctx.strokeStyle = "#000000";
ctx.lineWidth = 2;
ctx.fillRect(x, y, w, h);
ctx.strokeRect(x, y, w, h);
ctx.restore();
this.callSuper('_render',ctx);
}
});
しかし、結果は私が欲しいものではありません。
結果:
は私がしたいこと:事前に
感謝。