更改 svg 组元素中心

2024-01-22

我想将 svg 组的中心平移到其左上角:

代替:

+-----------------+       x-----------------+
|                 |       |                 |
|                 |       |                 |
|                 |       |                 |
|        x        | ----> |                 |
|                 |       |                 |
|                 |       |                 |
|                 |       |                 |
+-----------------+       +-----------------+

因此,对于以下 svg:

<svg width="900" height="900">
    <g transform="translate(200,300)">
        <rect width="400" height="500"></rect>
    </g>
</svg>

The rect元素应该位于绝对位置:0, 50 (200 - 400 / 2, 300 - 500 / 2).

我知道我可以设置x and y属性为rect元素 (<rect width="400" height="500" x="-200" y="-250"></rect>),但这或多或少是一个黑客,因为真正的中心g没有改变。

改变中心的正确方法是什么<g>SVG 元素?

rect {
    fill: red;
}
<svg width="900" height="900">
    <g transform="translate(200,300)">
        <rect width="400" height="500" x="-200" y="-250"></rect>
    </g>
</svg>

也许这对你有用translate?

rect {
    fill: red;
}
<svg width="900" height="900">
  <g transform="translate(200,300)">
    <g transform="translate(-200, -250)">
      <rect width="400" height="500"></rect>    
    </g>
  </g>
</svg>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 svg 组元素中心 的相关文章