2013-02-20 1 views
10

デフォルトでは、fabric.js要素にはオブジェクトを拡大縮小するための8ポイントがあります。しかし、私が具体的に働いているアプリケーションでは、伸縮を単一の軸(水平または垂直)に許可しないでください。 私はコーナーポイントだけを必要とします。fabric.jsを使用してキャンバス要素のスケーリングポイントを無効にするにはどうすればよいですか?

fabric.jsで可能でしょうか?

答えて

-3

デフォルトでは作成できません。しかし、width = x、height = yの場合、xとyの関係があるイベント( "on:scaling"のような)では、widthとheightを常に一定の比率にすることができます。

+1

無関係な回答 – Yagiz

22

はい、

あなたが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()を使用することができます。しかし、スケールを避けるために:lockScalingXlockScalingYのプロパティを使用してください。

4
imgInstance.setControlsVisibility({ 
     mt: false, 
     mb: false, 
     ml: false, 
     mr: false, 
     bl: false, 
     br: false, 
     tl: false, 
     tr: false, 
     mtr: false, 
    }); 

"imgInstance"をあなたのオブジェクトに変更します。

@http://fabricjs.com/docs/fabric.Image.html

関連する問題