我目前正在制作一个应用程序react-native
并react-native-svg
用于渲染形状,即矩形、椭圆等。
我将这些形状包含在宽度与高度比为 2:1 的 SVG 容器组件中:
- 形状的宽度是容器宽度的百分比。
- 形状的高度是容器高度的百分比。
我目前遇到了一个我无法解决的问题。每次我旋转一个形状时,它都会以奇怪的方式扭曲和扭曲。
这是一个旋转 0 度、宽度为 60%、高度为 30% 的矩形:
这是同一个矩形,旋转了 71 度(宽度和高度与之前相同):
我将矩形封装在 SVG 组件中,如下所示:
<Svg width="100%" height="100%" viewBox="0 0 100 100" preserveAspectRatio="none">
我试图修改preserveAspectRatio
组件的道具,但任何使用它的选择似乎都会扭曲形状的宽度和高度。
我所有的 SVG 形状组件都使用大致相同的格式:
<Rect ... width={ attributes.width } height={ attributes.height } transform={ "rotate(" + attributes.rotation + " " + attributes.x + " " + attributes.y + ")" } />
我已经对其进行了编程,以使rotate()
字符串产生,例如:rotate(71, 30, 55)
.
有任何想法吗?