我的任务是开发符合不同种曲线上在2维空间中的给定点序列的算法。

要能够测试我的算法,我选择SVG显示结果。我有几个问题与它

由于可能有非常不同的输入和我的算法的输出,它是必不可少的,我可以与变焦能力查看生成SVG文件!

但是,在SVG的路径仅能以一定的宽度被显示。如果我放大,则路径的宽度越来越大。我想的宽度为例如1像素在所有缩放级别。是否有一个解决此?

此外:可以SVG显示点?是的,简单的,原始点。?我已经发现,它不能。

感谢

有帮助吗?

解决方案

许多其它矢量格式(如PostScript和PDF)将让你使用的0的行程宽度为“细线”行程。不能如此,SVG。然而,我的认为的,你可以达到你想要的东西,如果你使用百分比笔划宽度。请参见 W3C的SVG规范详细信息,但是,基本上,你应该能够做这样的事:

stroke-width:"1%"

此应该行程具有线宽是外接矩形的一个常数1%,而不管缩放级别的你的曲线。

至于分,SVG不支持它们。当我在(使用的PostScript)我一直使用的弧用小redius 以画一个小圆圈(其可以填充到使一个点,如果愿意的话)。


@Zoli:您的评论后,我正要建议你看看成PostScript,所以你可以用细线条宽度,当我遇到了的在SVG规范不结垢冲程矢量效应:

vector-effect="non-scaling-stroke"

只需添加到您的曲线,它应该是不变的比例,依据规范。他们的例子使用line,但它应该在你的曲线正常工作。

其他提示

有在SVG没有<点>元件或类似的东西,目前,但添加具有在SVG WG被讨论,因此它可以被包括在将来。随意说出一个<点>元素公众SVG邮件列表您的需求。www-svg@w3.org

一个解决方法是使用e.g <线>元素,并让他们是零长度的,如果你想你可以有圆形linecaps使其显示一个点。这一切都取决于你需要这个东西。与r的圆= 0可能是一个更好的选择。

与价值“不结垢行程”的“载体效应”属性是你应该使用什么话说,行程不应该扩大。这并不难实现,以确保如果“载体效应”本身不支持笔画进行适当缩放一个JavaScript的解决方案。歌剧9.5+支持它本身。

感谢您Naaff帮助。 我想我会留在Firefox中,我会为每个算法的执行中生成的SVG文件线宽。这将是足够的我。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top