簡體   English   中英

如何使用fabric js一一選擇畫布上的所有對象?

[英]How do I select ALL objects on canvas one by one with fabric js?

代碼如何使用 fabric js 一一選擇當前畫布上的所有對象。 我試圖一一列出每個對象的屬性,但不知道畫布上有多少個對象(如果有)。

為了澄清:

這是一個https://jsfiddle.net/3bxLmwzk/

var canvas = new fabric.Canvas('canvas');

canvas.add(new fabric.Text('hdgh', { 
    left: 20,
    top: 30, 
    fontFamily: 'Comic Sans MS',
    fontSize: 35
}));

canvas.add(new fabric.Text('foo', { 
  fontFamily: 'Roboto', 
  left: 100, 
  top: 100,
  fontSize: 25
}));

canvas.add(new fabric.Text('f776h', { 
  fontFamily: 'Arial', 
  left: 200, 
  top: 200,
  fontSize: 25
}));

有 3 個對象......有沒有辦法可以在每個文本對象的控制台日志(文本、fontFamily 和 fontSize)上打印)

1 個對象 - 'hdgh' ; Comic Sans MS ; 35 2 對象 - 'foo' ; 機器人; 25 3 對象 - 'f776h' ; 宋體 25

一旦你有了一個 fabric 對象,你就可以調用fabric.getObjects()來獲取所有的對象。 您可以向它傳遞一個字符串,該字符串可以包含一個類型(如“文本框”或“圓圈”),並且它只會返回該類型的對象。

擁有對象后,您可以按如下方式循環它們:

let objects = fabric.getObjects(); //return Array<objects>
objects.forEach(object=>{
    //list the attributes for each object
    console.log(object.text, object.fontFamily, object.fontSize);
});

如果沒有更好地描述您正在嘗試做什么,這就是您可以做的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM