2013-09-30 61 views
1

我在畫布上有幾條路徑,我試圖畫出一個放在畫布上某個位置的圖像,並且我想根據圖像放置的區域來裁剪圖像,但我有位置,但有更多的對象一個在另一個之下,但我只是想在這一點上最上面的對象..是否有任何內置的方法,可以幫助我實現這一目標?織物js在某一點找到最頂端的物體?

任何幫助將不勝感激,在此先感謝。

回答

1
var objs = canvas.getObjects(); 
var topmost = new Object(); 

    jQuery.each(objs,function(index,val){ 

     if(val.containsPoint(position) && !(editor.isTargetTransparent(val, canvasX, canvasY))){ 
      //alert("here -->"+val.type); 
      // alert(val.get("clipFor")); 
      topmost = val; 
     } 


    }); 
if(topmost != undefined){ 
//code here 
} 
1

默認情況下,

var objects = canvas.getObjects(); 
var top = objects[objects.length - 1]; 

for (var i = objects.length - 1; i >= 0; --i) { 
    if (objects[i].left === 100 && objects[i].top === 100) { 
     top = objects[i]; 
     break; 
    } 
} 

我不知道這方面的任何內置的方法,您檢查canvas._objects屬性,就是它存放在畫布上的所有對象。

+0

這很好,但我想得到最高點的對象,在(100,100)說? – Robin

+0

比較它的左邊,頂部propery,它可以嗎? – Tom

+0

在z-index方面最高,可以有許多對象具有相同的左和頂,但具有不同的z-索引! – Robin