ネイティブ関数または属性を使用してFabricJSの最後の移動からデルタ/距離を取得する方法はありますか? 現在の座標が100x100であるとします。 要素を移動すると、新しい座標は90x120になります。 デルタは-10x20で、これはFabricJS関数またはネイティブjsコードを使用して取得する必要があります。FabricJS - 変換でDeltaを取得するにはどうすればいいですか?
アイデア? TNXオブジェクトにダウンマウスとマウスアップに
ネイティブ関数または属性を使用してFabricJSの最後の移動からデルタ/距離を取得する方法はありますか? 現在の座標が100x100であるとします。 要素を移動すると、新しい座標は90x120になります。 デルタは-10x20で、これはFabricJS関数またはネイティブjsコードを使用して取得する必要があります。FabricJS - 変換でDeltaを取得するにはどうすればいいですか?
アイデア? TNXオブジェクトにダウンマウスとマウスアップに
var canvas = new fabric.Canvas('c');
var rect = new fabric.Rect({
left: 50,
top: 60,
fill: 'blue',
width: 150,
height: 150,
});
canvas.add(rect);
rect.on('mousedown', rectMouseDown);
rect.on('mouseup', rectMouseUp);
function rectMouseDown(){
this.origPos = this.getCenterPoint();
}
function rectMouseUp(){
delta = this.getCenterPoint().subtract(this.origPos);
console.log(delta.x,delta.y)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.19/fabric.min.js"></script>
<canvas id="c" width="400" height="400"></canvas>
は、中心点はgetCenterPoint()
を用いて座標取り、デルタ使用subtractを取得します。
それらを取得するためのネイティブ関数があるのだろうかと思います。 –
@EugeneVilderあなたはちょうど左と上の違いを得る必要があります。それは減算関数が返すものです。 – Durga
オブジェクトを動かすのではなく、属性パネルから上部と左を設定できるので、私はMouseイベントを使うことができません。 –
は左(x)と上(y)座標の違いのようです – Durga
デルタ=違い...しかしそれを得るには? –