2015-05-13 26 views
3

如何在fabricjs中獲取對象標識符? 例如如何在fabricjs中獲取對象標識符?

var text = new fabric.IText('hello world', { left: mouse1X, top: mouse1Y }); 

ID = text.get??? 

該標識符應當存在於

JSON.stringify(canvas) 
canvas.loadFromJSON() 

標識符應當存在於JSON.stringify(畫布)canvas.loadFromJSON()

+0

請使用上面的編輯標籤來編輯您的問題。 –

回答

1

有不ID屬性上對象,但你可以創建自己的。 這樣的:

var msg = 'hello world'; 
var myId = 1; 

var text = new fabric.IText(msg, 
{ 
    left: mouse1X, 
    top: mouse1Y, 
    id: myId } //my custom property 
); 

canvas.add(text); 

//get id value 
console.log(text.get('id')); 
//OR 
console.log(text.id)); 

//change id value 
text.set('id',5); 
//OR 
text.id = 5; 
canvas.renderAll(); 
+0

您的示例中的id不會保存在JSON中 – Faradey

+1

恐怕您的問題是如何在fabricjs對象上使用id,而不是如何將其保存在json上。我回答說,這是正確的解決方案。但如果你需要保存你的屬性json看看我的答案在這裏:http://stackoverflow.com/questions/30052223/save-canvas-to-image-with-all-its-object-and-back- to-canvas-with-all-objects-bac/30071209#30071209 如果我的答案幫助你,請打勾。 –

5

當你創建一個對象,沿着選項傳遞一個id屬性:

var obj = fabric.Object({id: 'myid'}); 

或在運行時添加:

obj.id = 'myid'; 

當保存到JSON使用propertiesToInclude參數指定要保存的參數:

obj.toJSON(['myid', 'others...']); 

canvas.toJSON(['myid', 'others...']); 

加載後面將是自動的。

相關問題