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

сравните его влево, и верхний уровень, это нормально? – Tom

+0

самый верхний с точки зрения z-индекса, может быть много объектов с одинаковыми левыми и верхними, но с разными z-индексами! – Robin

 Смежные вопросы

  • Нет связанных вопросов^_^