gpt4 book ai didi

javascript - 在 A4 svg 绘图中绘制 1 像素笔画宽度图形

转载 作者:数据小太阳 更新时间:2023-10-29 05:02:41 27 4
gpt4 key购买 nike

我目前正在尝试用svg画一些图形,纸张尺寸为A4,1个逻辑单元代表1mm。所以我将视口(viewport)设置为 297mmx210mm,viewbox 为 297x210。现在的问题是我画的图 stroke-width 不再是 1 个像素。例如,

<!DOCTYPE html>
<html>
<body>
<svg width="297mm" height="210mm" viewBox='0 0 297 210' style="border: 1px solid #cccccc;">
<path stroke="black" fill="none" stroke-width='1' d='M 10 10 L 60 10'/>
<path stroke="black" fill="none" stroke-width='1px' d='M 10 30 L 60 30'/>
<path stroke="black" fill="none" d='M 10 50 L 60 50'/>
</svg>
</body>
</html>

即使我将其 stroke-width 设置为“1px”,上面的这 3 行也具有完全相同的线宽。在这种设置下是否仍然可以绘制 1 像素宽的线?

最佳答案

试试这个:

<path stroke="black" fill="none" stroke-width='1px' d='M 10 30 L 60 30' vector-effect="non-scaling-stroke"/>

vector-effect="non-scaling-stroke" 是 SVG 1.2 Tiny 的一项功能,它强制笔划宽度完全符合您的指定,无论缩放或单位转换是否有效。不幸的是,FF 和 Chrome(也许其他)支持它,但 IE(到目前为止)不支持。如果您可以接受,那么它就是解决您问题的最简单方法。

关于javascript - 在 A4 svg 绘图中绘制 1 像素笔画宽度图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17584348/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com