查找SVG图像中是否存在给定的(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;

我想知道图像区域中是否存在给定的点。图像宽度和高度为40。四个角是10,10,50,10,10,50,50,50。有没有办法找到一个给定的x,y是否存在于该区域?

为了检查该点是否位于矩形内,我使用直线方程并将该点与所有四条直线进行比较。 这种方法的关键是点的顺序

检查以下代码:-

 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中测试透明像素的问题?