修改图像fabricjs后平移位置更改

时间:2015-04-29 08:37:14

标签: javascript jquery html html5-canvas fabricjs

我有一个图像,我放在画布上(0,0)然后我调用一个函数,将图像放在一个新的点(0,100)。我做到这一点,图像的位置转移到y = 100的位置,并且有一个奇怪的行为 - 边界框(控制图像的平移/缩放)被移动一些像素到图像的顶部,一旦我点击那里边界框返回到实际图像位置。

我的jS代码如下

var img = document.createElement("img");
img.src = "car.png";
var canvas;
var imgInstance;

var imageDetails;
$(img).on('load', function () {
   canvas = new fabric.Canvas("imageCanvas");
   imgInstance = new fabric.Image(img, {
      top: 0,
      left: 0
   });
   canvas.add(imgInstance);
   fullWidth();
});


function fullWidth() {
   var scaleRatio = canvas.width / imgInstance.width;
   imgInstance.scale(scaleRatio);
   console.log(scaleRatio);
   if (imgInstance.height < canvas.height) {
      console.log('canvas is bigger');
      imgInstance.set({top: 150});//((canvas.height- imgInstance.height)/2);
      //console.log(((canvas.height- imageDetails.height)/2));
   }
   ;
   canvas.renderAll();
   //canvas.calcOffset();
};

0 个答案:

没有答案