2013-09-30 31 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