我希望能够将 SVG 元素上的笔画宽度设置为“像素感知”,无论当前应用的缩放转换如何,它始终为 1px 宽。我知道这很可能是不可能的,因为 SVG 的重点是与像素无关。
上下文如下:
我有一个设置了 viewBox 和 preserveAspectRatio 属性的 SVG 元素。它看起来像这样
<svg version="1.1" baseProfile="full"
viewBox="-100 -100 200 200" preserveAspectRatio="xMidYMid meet"
xmlns="http://www.w3.org/2000/svg" >
</svg>
这意味着当我缩放该元素时,它内部的实际形状会相应地缩放(到目前为止一切都很好)。
如您所见,我已经设置了 viewBox 以使原点位于中心。我想在该元素内绘制一个 x 轴和一个 y 轴,我这样做:
<line x1="-1000" x2="1000" y1="0" y2="0" />
同样,这工作正常。不过,理想情况下,这个轴总是只有 1px 宽。当我缩放父 svg 元素时,我对轴变得更胖不感兴趣。
那我搞砸了吗?