我有一个图像,我放在画布上(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();
};