デフォルトでは、fabric.js要素にはオブジェクトを拡大縮小するための8ポイントがあります。しかし、私が具体的に働いているアプリケーションでは、伸縮を単一の軸(水平または垂直)に許可しないでください。 私はコーナーポイントだけを必要とします。fabric.jsを使用してキャンバス要素のスケーリングポイントを無効にするにはどうすればよいですか?
fabric.jsで可能でしょうか?
デフォルトでは、fabric.js要素にはオブジェクトを拡大縮小するための8ポイントがあります。しかし、私が具体的に働いているアプリケーションでは、伸縮を単一の軸(水平または垂直)に許可しないでください。 私はコーナーポイントだけを必要とします。fabric.jsを使用してキャンバス要素のスケーリングポイントを無効にするにはどうすればよいですか?
fabric.jsで可能でしょうか?
object.lockUniScaling = true
を使用できます。
また、あなたはあなたのコーナーをカスタマイズすることができます:http://fabricjs.com/customization
デフォルトでは作成できません。しかし、width = x、height = yの場合、xとyの関係があるイベント( "on:scaling"のような)では、widthとheightを常に一定の比率にすることができます。
はい、
あなたがobject.setControlsVisibility()
使用することができます(注意 'ミスター' コントロールとのマイナーなバグがあるhttp://jsfiddle.net/Colmea/GjjJ8/1/:http://fabricjs.com/docs/fabric.Object.html#setControlsVisibility
this.setControlsVisibility({
mt: false, // middle top disable
mb: false, // midle bottom
ml: false, // middle left
mr: false, // I think you get it
});
JsFiddle例をバージョン1.4.0では1.4.1で修正されました)。これが唯一のコントロールを隠しをしてドラッグ避ける:
object. setControlVisible('mt', false); // disable middle top control
注:
それともあなたはobject.setControlVisible()
を使用することができます。しかし、スケールを避けるために:lockScalingX
とlockScalingY
のプロパティを使用してください。
imgInstance.setControlsVisibility({
mt: false,
mb: false,
ml: false,
mr: false,
bl: false,
br: false,
tl: false,
tr: false,
mtr: false,
});
"imgInstance"をあなたのオブジェクトに変更します。
無関係な回答 – Yagiz