【发布时间】:2015-09-21 12:16:24
【问题描述】:
我使用从 Illustrator 导出的相当复杂的 SVG 形状作为剪切路径。
问题是objectBoundingBox要求路径数据在0-1范围内,而我的路径包含的路径数据超出了这个范围。这是我正在使用的:
<svg>
<clippath id="clipping" clipPathUnits="objectBoundingBox">
<path d="M228.6,94.8L176.8, 5.5c-2-3.5-5.8-5.5-9.9-5.5H63.2c-4.1, 0-7.8, 1.9-9.9,5.5L1.5,94.9c-2, 3.5-2,7.8,0, 11.4 l51.8, 89.8c2,3.5, 5.8,5.9,9.9,5.9h103.7c4.1, 0, 7.8-2.4,9.9-6l51.8-89.7C230.7, 102.8,230.7, 98.3,228.6,94.8z M192.8,104.4l-35.5,
61.5c-1.4,2.4-4,4.1-6.8, 4.1h-71c-2.8,0-5.4-1.7-6.8-4.1l-35.5-61.4c-1.4-2.4-1.4-5.5,0-7.9l35.5-61.5c1.4-2.4,4-4.1,6.8-4.1h71c2.8, 0, 5.4,1.7,6.8,4.1l35.5, 61.4C194.2,98.9, 194.2, 102, 192.8, 104.4z"/>
</clippath>
</svg>
是否有一个简单的解决方案可以将其转换为 0-1 范围,以便我可以使用 objectBoundingBox?
回复:评论。我可以对 SVG 元素应用任意数量的变换,但它仍然不适用于 objectBoundingBox。例如:
<clippath id="clipping" transform="scale(1,1)" clipPathUnits="objectBoundingBox">
【问题讨论】:
-
把它包裹在一个变换中,你可以有任何你喜欢的范围。
-
几种变体,但该技术不起作用。你有一个成功的例子吗?
-
1 级转换什么都不做。您需要将其缩小,以便缩放后路径的范围映射为 1。