Получить высоту и ширину объекта Fabric.js после неправильной модификации

1

Вот мой код.

<canvas id="c" width="240" height="300" style="border:1px solid #000000"></canvas>

<script>
    var canvas = new fabric.Canvas('c');
     canvas.backgroundColor = 'yellow';


     canvas.renderAll();

     fabric.Image.fromURL(<?php echo '"' . $url . '"'; ?>, function(myImg) {
      var img1 = myImg.set({ left: 0, top: 0 ,width:150,height:150});
      canvas.add(img1); 
     });

     function objectMovedListener(ev) {
      let target = ev.target;
      console.log('left', target.left, 'top', target.top, 'width', target.width * target.scaleX, 'height', target.height * target.scaleY);
     }

    canvas.on('object:modified', objectMovedListener);
</script>

Я не понимаю, что происходит. позиция объекта TOP & LEFT показывает правильное значение, но высота и ширина неправильны.

Пожалуйста, помогите мне.

Теги:
fabricjs

2 ответа

1

Используйте getScaledWidth() и getScaledHeight(), чтобы получить трансформированную ширину и высоту объекта соответственно.

  • 0
    Спасибо за повтор, я обновил свой код, я получил правильное значение, но у меня есть вопрос получения значения в PX или % ?
1

Проверьте target.scaleX и target.scaleY. Если они отличаются от 1, вам нужно умножить target.width и target.height с масштабом

  • 0
    Спасибо за повтор, я обновил свой код, я получил правильное значение, но у меня есть вопрос получения значения в PX или % ?
  • 0
    Значение в пикселях
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню