在 SVG(以及 Canvas、Quartz、Postscript 等)中,变换矩阵会影响路径坐标和线宽。有没有办法进行调整,使线宽不受影响?也就是说,在下面的示例中,X 和 Y 的比例尺不同,这使得正方形变成了矩形,这还可以,但也会使两侧的线条变宽。
<g transform="rotate(30) scale(5,1) ">
<rect x="10" y="10" width="20" height="20"
stroke="blue" fill="none" stroke-width="2"/>
</g>
我可以看到这在很多情况下都会很有用,但是有没有办法选择退出呢?我想我想要一个单独的笔 TM 或者能够将笔设置为 CTM 转换为圆形的椭圆,但我没有看到类似的东西。
缺乏这一点,我认为我不必告诉 SVG 我的 CTM 而是自己转换坐标,这意味着将原语转换rect
为它们的path
等价物。