0

我想创建一个小工具来编辑 SVG 对象。现在,我现在要解决的问题是下一个:我有一个对象。Gizmo 出现在对象周围,因此可以缩放、平移和旋转对象。我需要做的是按原样找到对象的边界,因为小玩意儿应该总是这样显示:http ://s16.postimage.org/kipdum2v9/example.png (如果有人徘徊,粉红色是对象,黑色笔划是小发明)

PS 请不要建议使用现有的编辑器。

4

1 回答 1

1

我认为您正在寻找形状与边界框的接触点。一般来说,要解决您的问题似乎相当困难,也是因为 SVG 形状定义可能是模糊的(过滤器等)。

只要你的形状是路径,一种简单但近似的方法,可以利用接口SVGPathElement的 getPointAtLength 方法。采样合理数量的点,并保留极值。这些应该接近要求的点。

也许您可以利用 getBBox() 返回的值来改进近似值。

于 2012-07-11T21:38:08.030 回答