查找SVG图像中是否存在给定的(x,y)坐标?
我想知道图像区域中是否存在给定的点。图像宽度和高度为40。四个角是10,10,50,10,10,50,50,50。有没有办法找到一个给定的x,y是否存在于该区域?为了检查该点是否位于矩形内,我使用直线方程并将该点与所有四条直线进行比较。 这种方法的关键是点的顺序 检查以下代码:-查找SVG图像中是否存在给定的(x,y)坐标?,svg,Svg,我想知道图像区域中是否存在给定的点。图像宽度和高度为40。四个角是10,10,50,10,10,50,50,50。有没有办法找到一个给定的x,y是否存在于该区域?为了检查该点是否位于矩形内,我使用直线方程并将该点与所有四条直线进行比较。 这种方法的关键是点的顺序 检查以下代码:- function isPointInside(fourPointsArray, pointToCheck) { var counter = 0;
function isPointInside(fourPointsArray, pointToCheck) {
var counter = 0;
var ele = pointToCheck;
var A, B, C, D, p1, p2, indx;
for (var k = 0; k < fourPointsArray.length; k++) {
p1 = fourPointsArray[k];
indx = k + 1;
if (indx >= fourPointsArray.length)
indx = 0;
p2 = fourPointsArray[indx];
A = -(p2.y - p1.y);
B = p2.x - p1.x;
C = -(A * p1.x + B * p1.y);
D = A * ele.x + B * ele.y + C;
if (D >= 0) {
counter++;
}
}
if (counter >= fourPointsArray.length) {
return true;
}
return false;
}
var arraypoints=[{x:10,y:10},{x:50,y:10},{x:50,y:50},{x:10,y:50}];
var pointtocheck={
x:5,
y:10
}
var flag=isPointInside(arraypoints,pointtocheck);
console.log(flag);
您是在要求为任意多边形提供解决方案,还是要求我们实际键入x和y值在10到50之间的任何点都在您的特定正方形内?我正在努力防止SVG图像重叠。如果“DroppedImage”x,y存在于任何现有图像中,则不允许删除。是的,我正在寻找第二种解决方案。为什么不编写几行JavaScript代码来检查点是否在矩形内?也许OP是在问SVG中测试透明像素的问题?