Java gwt-g2d:如何检测点是否在形状中?
我试图检测一个点是否在gwt-g2d形状内。 有人知道这是怎么可能的吗 我只能确定该点是否在上下文中的任何路径内 假设我有一个包含两个矩形(a和B)的上下文,并且想要确定鼠标位于哪个矩形中,我如何才能做到这一点 ________________________ | _______ _______ | | | | | | | | | A | | B | | | |_______| |_______| | |________________________| ________________________ | _______ _______ | | | | | | | || A | | B || | |_______| |_______| | |________________________|Java gwt-g2d:如何检测点是否在形状中?,java,gwt,shape,point-in-polygon,Java,Gwt,Shape,Point In Polygon,我试图检测一个点是否在gwt-g2d形状内。 有人知道这是怎么可能的吗 我只能确定该点是否在上下文中的任何路径内 假设我有一个包含两个矩形(a和B)的上下文,并且想要确定鼠标位于哪个矩形中,我如何才能做到这一点 ________________________ | _______ _______ | | | | | | | | | A | | B | | | |_______| |_______| | |__________
矩形只是示例,我还想确定点是否为复杂形状。您可以查找问题。如果有很多多边形,人们也倾向于通过存储多边形的最左侧、右侧、底部和顶部点(或存储包围多边形的圆的半径和中心点)来缩小可能性因此,他们可以快速确定该点是否可能位于多边形内部。经过尝试,我通过编辑gwt-g2d源找到了解决方案 gwt-g2d为每个曲面创建一个带有画布的div。 现在我更改了曲面的颜色,只创建了一个位置为“绝对”的画布。现在我只需创建多个画布并使用其函数IsPointInPath Surface.java中的技术:
public Surface(int width, int height) {
canvas = Document.get().createElement("canvas").cast();
setElement(Document.get().createDivElement());
getElement().appendChild(canvas);
canvasInitializer.init(canvas, width, height);
setStylePrimaryName("g2d-Surface");
this.width = width;
this.height = height;
context = canvas.getContext2D();
}
致:
谢谢你的提示,但我正在搜索一个内置函数,因为如果我通过g2d添加一个弧,它可能会有我的Claculate弧以外的其他点。
public Surface(int width, int height) {
canvas = Document.get().createElement("canvas").cast();
canvas.setAttribute("style", "position:absolute;");
setElement(canvas);
canvasInitializer.init(canvas, width, height);
setStylePrimaryName("g2d-Surface");
this.width = width;
this.height = height;
context = canvas.getContext2D();
}