为什么织物在移动时会调整物体大小?

时间:2017-12-12 03:19:01

标签: javascript canvas fabricjs

我正在对象的缩放事件上实现对画布边缘的捕捉。 为了将它捕捉到画布的左边缘,我必须将左边的位置设置为等于画布的左边。我还必须在宽度上加上我移动对象的数量。

奇怪的是,只需设置新的左侧位置,有时我的对象会缩小/增长。

是不是因为面料在引擎盖下做了某种缩放?如果我将偏移量添加到我的宽度以使对象保持正确的大小,则奇怪的行为会变得更加明显。

threshold = 5;
_fabric.on('object:scaling', handleScaled);

function handleScaled(event) {
    const shape = event.target && event.target.shape;
    const shapeSize = shape.left + shape.width;
    const snapeAmnt = Math.abs(screenSize - shapeSize);
    if (Math.abs(screenSize - shapeSize) > threshold) {
        shape.width += snapeAmnt;
    }
}

0 个答案:

没有答案