#javascript #html #canvas #html5-canvas #fabricjs
#javascript #HTML #холст #html5-холст #fabricjs
Вопрос:
У меня есть большое изображение, загруженное изначально в мой холст, а затем я хотел бы иметь возможность рисовать на нем прямоугольники. Когда я перетаскиваю изображение, я все равно хочу, чтобы прямоугольники появлялись над изображением, а не отодвигались назад.
Вот планка;
http://plnkr.co/edit/iJV0bZrlCG4CJXlhDw8w?p=preview
Если возможно, я хотел бы иметь возможность гарантировать, что, несмотря ни на что, изображение всегда находится сзади? Я довольно подробно осмотрелся и не могу найти решение. Это становится все более неприятным!
Изначально я думал, что это будет так просто;
canvas.on('object:moving', function(e) {
var obj = e.target;
console.log(obj.id)
if (obj.id === 'img') {
canvas.sendToBack(obj)
} else {
canvas.bringToFront(obj)
}
});
Надеюсь, кто-нибудь может помочь!
Ответ №1:
Просто передайте preserveObjectStacking
опцию, и при выборе она не будет перемещаться вперед.
window.canvas = new fabric.Canvas('c', { preserveObjectStacking:true });