2016-09-08 6 views
3

私はキャンバスオブジェクトの変更を見る必要があります(私はfabricjsライブラリを使用しています)。私は次のようObject.prototype.watch()と試すキャンバスの内容がいつ変更されたかを検出する方法は?

var canvas = this.__canvas = new fabric.Canvas('canvas', {isDrawingMode:true}); 
//I need to watch the changes here -> 
canvas.toJSON(); 

canvas.toJSON.watch( 'オブジェクト'、関数(){// doSomethingの})。

しかし、それは私のために助けてくれませんでしたか?

答えて

2

あなたの例では、私はあなたがフリーハンドモードで使用するキャンバスに描画を検出する方法を探していると思うisDrawingMode:trueを述べたので。

ファブリックJSは、hereと読むことができるため、長いイベントリストを公開しています。

キャンバスで無料の図面を検出したい場合は、path:createdイベントを使用できます。私のために働いていない

var canvas = new fabric.Canvas('canvas',{isDrawingMode:true}); 
 
canvas.on('path:created', function(event) { 
 
    //log the svg path info 
 
    console.log(event.path.path); 
 
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.6.4/fabric.min.js"></script> 
 
<canvas id="canvas" width="300" height="300"></canvas>

1

カンバスは、このドキュメントで説明されているように、独自のイベントを呼び出します。Class: Canvasキャンバスから放出されるイベントが多数表示されます。

オブジェクトが変更されたかどうかのチェックのためのイベントは以下の通りです:

canvas.on('object:modified', function(event) { 
    // the object that has been modified is in: 
    event.target 
}) 
+0

。 –

+1

私はisDrawingModeパラメーターを見逃しました。 'path:created'はより良いイベントになるかもしれません。このページに掲載されているイベントでいつでも遊ぶことができます:http://fabricjs.com/docs/fabric.Canvas.html – StefanHayden

関連する問題