从外部框调整大小时,我的内部形状变形了Javascript

问题描述

我在调整外部边界框的大小时遇到​​问题,它重新定位了我的内部形状,该内部形状是一个具有点的多边形。我可以将任何点拖到外边界框增加的任何位置。我将右上角的点向右拖动,然后尝试调整外部边界框的大小,便看到了问题。

所以我要做的是调整大小,然后通过获取新的宽度和高度来重绘多边形,然后根据新的宽度和高度缩放点。在此之前,我通过应用旧宽度和高度的比例来反转点。

在根据调整后的宽度和高度对点应用新比例之前,我会像这样反转

arrVertexes = arrVertexes.map(item => {
    return [(xScale.invert(item[0])),(yScale.invert(item[1])) ];
  });

这就是我缩放的方式

xScale = d3.scaleLinear().domain([0,100]).range([0,width]).clamp(true);
yScale = d3.scaleLinear().domain([0,100]).range([height,0]).clamp(true);

xScale.domain([0,100]);
yScale.domain([0,100]);

这是我的Codepen链接 https://codepen.io/jinata92/pen/bGpZZdW

任何帮助将不胜感激:-)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)