如何重复使用<marker> <defs> 不同维度的标签中定义的标签?



假设我有一个包含在标签中的已定义标签,如:

<svg>
<defs>
<marker markerUnits="userSpaceOnUse" markerWidth="16" markerHeight="16">
...
</marker>
</defs>
</svg>

请注意,已应用标记单位、标记宽度和标记高度,因此标记的大小与应用标记的路径的厚度无关。

但宽度和高度似乎是硬编码的,当我使用marker-endmarker-start时,我没有机会设置标记的尺寸。

有没有一种方法可以通过尺寸定制重复使用标记?

否。markerUnits="userSpaceOnUse"类型的标记完全按照定义进行渲染。你不能在每次使用时设置它们的大小。

唯一的选择是使用markerUnits="strokeWidth"标记。它们被缩放以匹配stroke-width值。

最新更新