Java - >用于徒手绘图(矢量)的橡皮擦,如C#中的IncrementalStrokeHitTester

时间:2016-09-24 17:59:07

标签: java javafx

我正在尝试在JavaFx中创建一个徒手绘画应用程序。我创建了一个onMouse拖动事件,当用户移动鼠标时,它会创建2d点并用点连接点。

path = new Path();
path.setStrokeWidth(10);
path.setStroke(Color.BLACK);

...

EventHandler<MouseEvent> mouseHandler = new EventHandler<MouseEvent>() {
    @Override
    public void handle(MouseEvent mouseEvent) {
        if (mouseEvent.getEventType() == MouseEvent.MOUSE_PRESSED) {        
          path.getElements().add(new MoveTo(mouseEvent.getX(), mouseEvent.getY()));
        } else if (mouseEvent.getEventType() == MouseEvent.MOUSE_DRAGGED) {
            path.getElements().add(new LineTo(mouseEvent.getX(), mouseEvent.getY()));
        }
    }       
};

现在我想添加一个橡皮擦工具,它会查看它是否与该线相交并删除最近的路径点。当我使用JavaFx intersects方法时,它只能处理非常不准确的节点的boundingBox。

C#获得了“IncrementalStrokeHitTester”方法,该方法使用鼠标/橡皮擦来测试笔划。有没有类似的方法可以用于我的橡皮擦工具?

0 个答案:

没有答案