Как изменить положение объекта, выбранного в группе, при масштабировании финиша в ткани JS? - PullRequest
0 голосов
/ 25 марта 2019

В настоящее время я работаю над одним проектом по редактированию форматированного текста.Я использую FabricJS версии 1.7.22.

У меня есть два ITexxt, один под другим.При выборе и масштабировании группы положение ITexts меняется (что не должно происходить, так как должны масштабироваться только объекты).

canvas.on({
    'object:selected': function(e){
    selected = e.target;
    if(selected.type == 'i-text'){
        fontsizelister.innerHTML = selected.fontSize;
    }
  },
    'object:scaling': function(e){
    scaling = true;
    console.log('e', e.target);
    if(selected.type == 'group'){
            console.log('e');
    }
  },
  'mouse:up': function(e){
    if(scaling == true){
        scaling = false;
      selected.forEachObject(element =>{
        console.log('element', element);
        switch(element.type){
        case 'i-text':
         var newfontsize = (element.getFontSize() * selected.getScaleX());
            element.set({
              fontSize: parseInt("" + newfontsize, 10),
              scaleX: 1,
              scaleY: 1
            });
        break;
        case 'image': 
        break;
        }
      });
      selected.set({
        scaleX: 1,
        scaleY: 1
      });
      selected.addWithUpdate();
      canvas.renderAll();
    }
  }
})

https://jsfiddle.net/Mark_1998/L2684wun/1/

Моя проблема:

1) Выберите и-текст с помощью щелчка мыши и перетащите (выбор группы).

2) Масштаб (масштабирование группы).

3) Мышь вверх.

4) i-текст размещен в другом положении, а не в масштабе.

Я много гуглю, но не могу найти для этого никакого расчета.Пожалуйста, помогите, если это возможно.

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