带有填充的FabricJs画布对象在调整大小时消失

时间:2017-12-12 13:37:11

标签: javascript canvas fabricjs

我使用以下代码在画布中添加图像作为对象:

fabric.Image.fromURL('item.png', function(oImg) {
    oImg.setWidth(130);
    oImg.setHeight(65);
    oImg.padding = 10;
    canvas.add(oImg);
});

我给对象填充了10个。调整大小时,对象在宽度/高度大约低于10后消失。然后通过使用下面的代码获取该对象,尺寸将返回为NaN

var obj = canvas.getObjects[0];

console.log(obj.height, obj.width, obj.left, obj.top);

// OUTPUT: NaN NaN NaN NaN

任何人都可以帮我找出造成这个问题的原因吗?

1 个答案:

答案 0 :(得分:1)

这已在2.0中修复。

(function() {
  var canvas = this.__canvas = new fabric.Canvas('c');
  fabric.Image.fromURL('http://fabricjs.com/assets/pug_small.jpg', function(oImg) {
    oImg.set({
    left:20,top:20,padding:10,scaleX:0.8,scaleY:0.8,
    })
    canvas.add(oImg);
  });
})();
canvas{
  border-width: 1pz;
  border-style: solid;
  border-color: #000;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.0.0-rc.3/fabric.js"></script>
<div id="canvases">
<canvas id="c" width="600" height="600"></canvas>
</div>

并且可以使用版本1.7.18