我正在使用带有react的Fabric.js,并在其上实现了一些工具。以下是它的外观:
但是有一个摇摄工具,我正在使用来自fabric的relativePan()
函数。我遇到的一个问题是,当拖曳平底锅工具时,尺子(标记为红色)不应该移动。和其他元素一样,它们也是画布的一部分。
有什么方法可以禁用某些元素的摇摄吗?我试过:
lockMovementX
lockMovementY
selectable: false
发布于 2017-02-25 10:14:54
诀窍是在平移时,从静止物体中减去移动坐标:
canvas.on('mouse:move', function(e) {
if (panning && e && e.e) {
moveX = e.e.movementX;
moveY = e.e.movementY;
topRuler.set({
top: topRuler.top - moveY,
left: topRuler.left - moveX
});
leftRuler.set({
top: leftRuler.top - moveY,
left: leftRuler.left - moveX
});
canvas.relativePan(new fabric.Point(moveX, moveY));
}
});
这是一个工作的JSFiddle,https://jsfiddle.net/rekrah/z3p8utmc/。
https://stackoverflow.com/questions/42375748
复制