【发布时间】:2023-04-09 05:55:01
【问题描述】:
我的应用程序生成一组要在 SVG 中绘制的图形点。点值始终在水平和垂直的 0-1000 范围内。进行绘图的矩形的大小可能会发生变化。
这是用于在 200 X 85 矩形上绘制图形的 SVG 元素:
<svg width="200" height="85" viewBox="0 0 1000 1000" preserveAspectRatio="none">
<polyline stroke="#e69800"
stroke-width="2px"
fill="none"
points="0,1000 100,900 200,800
300,700 400,600 500,500
600 400 700,300 800,200900,100 1000,0"/>
</svg>
设置viewBox="0 0 1000 1000"使图形缩小到合适的大小,问题是这也会以相同的比例缩小线条的宽度,所以线条不再可见。
SVG 似乎忽略了属性stroke-width="2px" 中的“px”。
有没有办法以绝对像素大小指定线条的宽度(笔画宽度)?
【问题讨论】:
-
是的,这成功了。我添加了属性
vector-effect="non-scaling-stroke",现在这条线是 2 像素宽,并且使用抗锯齿绘制,所以看起来不错。 @Joan Charmant:如果您将此作为答案,我会接受。谢谢!
标签: svg