【发布时间】:2020-04-08 21:03:39
【问题描述】:
我正在缩放一个多边形并将实际缩放的点设置到 pathArray 中
const pointsCal = this.findPoints(allocatedTable.tableType.shape.pathArray);//calculating max x,y min x,y of pathArray
const diameterX = (pointsCal.highX - pointsCal.lowX)/2;
const diameterY = (pointsCal.highY - pointsCal.lowX)/2;
const scalex = (diameterX + this.settings.tableTableSpace) / diameterX;
const scaleY = (diameterY + this.settings.tableTableSpace) / diameterY;
pathArray.forEach((point) => {
if (point.command !== 'z') {
point.x -= tableCenterPoint.x;
point.y -= tableCenterPoint.y;
point.x *= scalex;
point.y *= scaleY;
point.x += tableCenterPoint.x;
point.y += tableCenterPoint.y;[enter image description here][1]
}
});
但对于常规矩形,它可以正常工作,但对于旋转的形状,它不能正确粘贴
我认为我在计算 scale X 和 scaleY 值时在逻辑上犯了错误
【问题讨论】: