【发布时间】:2023-03-31 18:35:01
【问题描述】:
注意:我感觉这个问题的答案将依赖于经常用于回答有关动画 svg 路径的问题的虚线技巧(例如Animate svg path,以及无数其他类似问题)。如果可能的话,我正在寻找一个不依赖于虚线的答案。
假设您有一个 SVG,其中包含一些对象之间的路径。您知道对象的中心位置和宽度。原则上,您可以计算仅从每个对象的边缘开始的路径。但是,这可能很乏味。那么如何指定从对象 1 到对象 2 的路径,但偏移绘制的部分使其仅从边缘显示?
在下面的代码中,两点之间的第一条路径使用它们的中心。
这就是我要指定路径的方式。第二条路径是我希望如何渲染路径。例如我正在寻找像 offset-from-start=10 和 offset-from-end=10 这样的属性来执行此操作。如果路径是复合路径或对象具有不规则形状,则计算较短路径的角度很繁琐(但很简单)。此外,使用较短的路径会改变曲线,而希望这种偏移不会。
<svg style="width:200px;height:200px">
<circle r="10" cx="10" cy="10" fill="red"></circle>
<circle r="10" cx="190" cy="10" fill="red" style="opacity:0.5"></circle>
<path d="M10 10 L 190 10" stroke-width="4" stroke="black"></path>
<circle r="10" cx="10" cy="50" fill="red"></circle>
<circle r="10" cx="190" cy="50" fill="red" style="opacity:0.5"></circle>
<path d="M20 50 L 180 50" stroke-width="4" stroke="black"></path>
</svg>
【问题讨论】:
标签: svg