以前,在1.x中创建Fabric.Path
时,返回了属性minX
和minY
。
在2.4.1中,不返回这些值。在我看来,迁移文档中没有提及此删除操作。尽管minX
和minY
在路径初始化时等效于left
和top
,但似乎无法简单地交换出这些值。例如,以下功能(此处需要FabricJS - When moving a path the 'path' object doesn't update进行了说明)现在不起作用(并将minX
交换为left
,并且将minY
交换为{{1} }在绘制初始路径时有效,但在更新初始路径时会导致该路径“捕捉”回原始位置。
top
我已经查看了1.7.19源代码,以查看这些值过去是如何计算的,但是由于它是私有方法,因此我看不到如何在上面的代码中使用transformedPoint = (target) => {
const points = [];
const path = target.path;
points.push(new fabric.Point(path[0][1], path[0][2]));
points.push(new fabric.Point(path[1][3], path[1][4]));
points.push(new fabric.Point(path[1][1], path[1][2]));
const matrix = target.calcTransformMatrix();
return points
.map(p => new fabric.Point(
p.x - target.minX - (target.width / 2) - (target.strokeWidth / 2),
p.y - target.minY - (target.height / 2) - (target.strokeWidth / 2)),
)
.map(p => fabric.util.transformPoint(p, matrix));
}
?