22

デフォルトでは、fabric.js 要素には、オブジェクトをスケーリングするための 8 つのポイントが付属しています。しかし、私が取り組んでいるアプリでは、単一の軸 (水平または垂直) でストレッチを許可しないことが特に必要です。側面のポイントではなく、コーナーポイントのみが必要です。

fabric.jsでそれは可能ですか?

4

5 に答える 5

40

はい、

使用できますobject.setControlsVisibility()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 の例: http://jsfiddle.net/Colmea/GjjJ8/1/ (1.4.0 バージョンの「mr」コントロールに小さなバグがあることに注意してください。1.4.1 で修正されています)。

または、次を使用できますobject.setControlVisible()

object. setControlVisible('mt', false); // disable middle top control

注:これはコントロールを非表示にし、ドラッグしないようにするだけです。ただし、スケールを避けるにはlockScalingX、 とlockScalingYプロパティを使用します。

于 2014-05-22T15:23:12.163 に答える
24

使用できますobject.lockUniScaling = true
また、コーナーをカスタマイズすることもできます: http://fabricjs.com/customization

于 2013-02-20T12:18:51.667 に答える
5

これを使って:

object.hasControls = object.hasBorders = false;

http://fabricjs.com/customizationを参照してください

于 2018-10-05T16:11:51.567 に答える
-4

デフォルトでは、作成できません。ただし、次のような関数を作成できます。if width = x then height = y 何らかのイベントで x と y の間に何らかの関係がある場合 (「on:scaling」など)、常に幅と高さを特定の比率にすることができます。

于 2013-02-20T08:37:16.940 に答える