Захват и сохранение координат объектов с помощью fabri c js - PullRequest
0 голосов
/ 28 марта 2020

Я работаю над приложением, в котором пользователь может создавать несколько блоков на холсте, сохранять координаты каждого блока (сверху, слева, ширина, высота) в базе данных по отдельности, а затем извлекать их обратно на холст, когда это необходимо. обновить свою позицию. Я могу сделать все это, кроме обновления положения коробки.

Например. Допустим, пользователь выбирает «box1»: 1) canvas.on ('mouse: down', function (evt) {}); - дает текущие координаты для box1, который соответствует записи в базе данных.

2) canvas.on ('object :ified', function (evt) {}); - дает новые координаты для box1, которые я могу использовать для обновления полей базы данных.

Единственная проблема заключается в том, что если пользователь выбирает box1, перетаскивает его куда-то, сбрасывает и снова перетаскивает на новую позицию. Я теряю исходное значение (так как он щелкнул мышью: дважды для box1) и, таким образом, не могу окончательно определить, какое поле было обновлено относительно базы данных.

Ниже приведен фрагмент кода:

window.addRect = function() {
  var box = new fabric.Rect({
    left: 0,
    top: 0,
    stroke: 'red',
    fill: 'rgba(255,0,0,.4)',
    width: 50,
    height: 50,
  });
  box.hasRotatingPoint = false;
  canvas.add(box);
}

canvas.on('object:modified', function (evt) {   // for updated values
var modifiedObject = evt.target;
console.log('modifiedObject: ' + modifiedObject.get('left'), modifiedObject.get('top'), modifiedObject.getScaledWidth(), modifiedObject.getScaledHeight());
});

canvas.on('mouse:down', function (evt) {  // for original values
var downObject = evt.target;
console.log('downObject: ' + downObject.get('left'), downObject.get('top'), downObject.getScaledWidth(), downObject.getScaledHeight());  });

Есть ли что-нибудь, кроме мыши: вниз и объект: изменено, что я могу использовать? Я ищу решение в Ext js.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...