を私は私のカスタム要素にその機能を拡張し、テキストボックスのスケールの動作を変更しfabricjsでtextbox_behavior.mixin.jsの機能が見つかりました:ここ
は私がやっているのいくつかのコードです期待される行動をとること。それでもいくつかの作業を必要とします*
(function(){
var setObjectScaleOverridden = fabric.Canvas.prototype._setObjectScale;
fabric.Canvas.prototype._setObjectScale = function(localMouse, transform,lockScalingX, lockScalingY, by, lockScalingFlip, _dim) {
var t = transform.target;
if (t instanceof fabric.FeedText) {
var w = t.width * ((localMouse.x/transform.scaleX)/(t.width + t.strokeWidth));
var h = t.height * ((localMouse.y/transform.scaleY)/(t.height + t.strokeWidth));
if (w >= t.getMinWidth() && h >= t.minHeight) {
t.set('width', w);
t.set('height',h);
return true;
}
}
else {
return setObjectScaleOverridden.call(fabric.Canvas.prototype, localMouse, transform,
lockScalingX, lockScalingY, by, lockScalingFlip, _dim);
}
};
})();