根据 SVG 规范,应用于 SVG 元素的每个变换都会创建当前坐标系的副本。随后的变换将应用到这个新的坐标系,从而创建级联效果。
变换的顺序至关重要,因为每个变换都会在应用下一个变换之前修改坐标系。例如,如果旋转然后平移一个元素,则平移相对于旋转的坐标系发生,而不是相对于初始的非旋转坐标系。
考虑代码片段中提供的示例。在第一个矩形(缩放/旋转)中,当前坐标系在 x 轴上缩放 2 倍,然后旋转 10 度。这会产生一个有效倾斜的矩形。
相反,在第二个矩形(旋转/缩放)中,当前坐标系在 x 中缩放 2 倍之前先旋转 10 度-轴。由于首先应用旋转,因此随后的缩放是相对于旋转的坐标系进行的。这会产生一个沿 x 轴简单拉长而没有任何倾斜的矩形形状。
在第一个矩形(缩放/旋转)的情况下,缩放操作会影响元素本身的形状。然后旋转元素时,变换后的形状也会旋转,从而产生倾斜效果。
另一方面,在第二个矩形(旋转/缩放)中,旋转操作会影响坐标系。当元素随后缩放时,缩放相对于旋转的坐标系进行,保留矩形的原始形状而不倾斜。
理解变换的顺序对于控制效果至关重要SVG 中的链接变换。通过按特定顺序应用转换,您可以在元素上实现所需的视觉效果。
以上是为什么转换顺序会影响 SVG 的结果?的详细内容。更多信息请关注PHP中文网其他相关文章!