JavaFX 图表原点坐标
JavaFX chart origin coordinates
所以我想弄清楚 JavaFX 坐标系是如何工作的,并获取散点图原点的坐标。我正在使用 video/animation 编辑器,我决定使用 ScatterChart 制作时间轴,其中节点是媒体(图像、视频或音频)拖到它上面(类似于 Windows Movie Maker) . ScatterChart 放置在 ScrollPane 中,以便用户可以缩放和平移时间线。
要显示指示玩家位置的线,我需要时间线的开始坐标和结束坐标 ,以便我可以在图表背景的窗格中添加一条线。
我似乎无法获得原点的坐标,无论我尝试什么。
我试图获取 x 轴并找到它在图表上的位置,但它不起作用。我什至尝试在图表中添加一个点并找到其节点的位置,但这也给出了 0、0 位置。
xAxis.localToParent(0,0) // prints 0, 0
xAxis.localToScene(0,0) // prints 0, 0
xAxis.localToScreen(0,0) // gives null
任何人都可以提供解决方案,或许还可以解释 JavaFX 中的坐标是如何计算的吗?
我通过添加图表数据解决了这个问题,在图表的开始有一个点,X坐标为0。这个点的节点是一个半径为0或1的圆,这就是我用来获取X的图开始的坐标。获取这个偏移量的函数是:
Bounds boundsInScene = point.getNode().localToScene(point.getNode().getBoundsInLocal(), true);
return parent.sceneToLocal(boundsInScene).getMinX();
父级是图表本身。只需将起始偏移量添加到以最大 X 坐标为参数的 getValueForDisplay 函数的结果即可获取结束坐标。
所以我想弄清楚 JavaFX 坐标系是如何工作的,并获取散点图原点的坐标。我正在使用 video/animation 编辑器,我决定使用 ScatterChart 制作时间轴,其中节点是媒体(图像、视频或音频)拖到它上面(类似于 Windows Movie Maker) . ScatterChart 放置在 ScrollPane 中,以便用户可以缩放和平移时间线。
要显示指示玩家位置的线,我需要时间线的开始坐标和结束坐标 ,以便我可以在图表背景的窗格中添加一条线。
我似乎无法获得原点的坐标,无论我尝试什么。
我试图获取 x 轴并找到它在图表上的位置,但它不起作用。我什至尝试在图表中添加一个点并找到其节点的位置,但这也给出了 0、0 位置。
xAxis.localToParent(0,0) // prints 0, 0
xAxis.localToScene(0,0) // prints 0, 0
xAxis.localToScreen(0,0) // gives null
任何人都可以提供解决方案,或许还可以解释 JavaFX 中的坐标是如何计算的吗?
我通过添加图表数据解决了这个问题,在图表的开始有一个点,X坐标为0。这个点的节点是一个半径为0或1的圆,这就是我用来获取X的图开始的坐标。获取这个偏移量的函数是:
Bounds boundsInScene = point.getNode().localToScene(point.getNode().getBoundsInLocal(), true);
return parent.sceneToLocal(boundsInScene).getMinX();
父级是图表本身。只需将起始偏移量添加到以最大 X 坐标为参数的 getValueForDisplay 函数的结果即可获取结束坐标。