【发布时间】:2017-02-06 15:47:22
【问题描述】:
我编写了一个通用的 javascript 库,可以创建各种类型的 SVG 图形(条形图、绘图、饼图等)。我也有来自this post 的选框选择代码,效果很好。
所以现在我的 SVG 中有 x1、y1、x2、y2 坐标,我正在寻找一种简单的方法来选择在该选择中至少有 1 个像素的所有 SVG 元素。
对于只有点的绘图,这很容易实现,但我正在寻找一种适用于矩形、椭圆和路径的简单通用解决方案。
【问题讨论】:
-
邮政编码以便更好地理解问题/问题。
-
我已经更新了问题,以便更具体地了解我所拥有的参数。我的 SVG 中有 topLeft 和 bottomRight 坐标,我正在寻找这些边界内(或部分内)的所有元素。
-
你可以得到每个形状的边界框(getBBox),看看它是否在你的选择范围内,但这并不是万无一失的。
-
我现在不能测试,但我可以给你一个意见。您已经拥有 X1、X2、Y1 和 Y2。现在使用 $('svg path') 元素的 position().top 和 position().left 属性,您可以找到它们的 X'1 和 Y'1。现在添加宽度和高度,您也有了 X'2 和 Y'2。最后一件事是将 Xs、Ys 与 X 和 Y 进行比较。我希望这行得通。
标签: javascript svg