4

我正在使用 SVG 在 HTML 页面中绘制不同的形状。这些不同的形状是从 Microsoft Sql Server 中空间数据库的几何对象中检索的。我面临的问题是坐标系统(Svg 和 Microsoft Sql Server)是不同的。0,0 从左上角的 Svg 开始,而在 Microsoft Sql Server 中,它从左下角开始。我只需要反转 Y 坐标。我还使用 viewBox 正确显示数据(用于不同的转换)。有什么方法可以解决我的问题,而无需触及对象的坐标并仅使用我的视图框的属性?我动态创建对象,并且更喜欢“viewBox”解决方案。

提前致谢!

4

1 回答 1

4

我不认为你可以使用 viewBox。SVG 规范说,如果你想定义一个新的坐标系,那么你必须使用转换。您想要的是通过图像中心反映有关水平线的所有内容。为此,将所有元素包装在一个组中,如下所示:

<svg>
  <g transform="matrix(1 0 0 -1 0 height)">
    all the other elements...
  </g>
</svg>

heightSVG 的高度在哪里。一个潜在的问题是文本将被颠倒呈现。

于 2011-06-22T11:46:17.697 回答