Получить экранные координаты узла в javaFX 8
Я занимаюсь разработкой приложения JavaFX на Windows 8.1 64-битной с 4 ГБ оперативной памяти с JDK версии 8u45 64-битной.
Я хочу захватить часть экрана, используяRobot
но проблема в том, что я не могу получить экранные координаты панели привязки, которую я хочу захватить, и я не хочу использоватьsnapshot
потому что качество продукции плохое. Вот мой код
Я видел вопрос в этой ссылкеПолучение глобальной координаты узла в JavaFX и этотполучить реальную позицию узла в javaFX и я попробовал каждый ответ, но ничего не работает, изображение показывает различные части экрана.
private void capturePane() {
try {
Bounds bounds = pane.getLayoutBounds();
Point2D coordinates = pane.localToScene(bounds.getMinX(), bounds.getMinY());
int X = (int) coordinates.getX();
int Y = (int) coordinates.getY();
int width = (int) pane.getWidth();
int height = (int) pane.getHeight();
Rectangle screenRect = new Rectangle(X, Y, width, height);
BufferedImage capture = new Robot().createScreenCapture(screenRect);
ImageIO.write(capture, "png", new File("image.png"));
} catch (IOException | AWTException ex) {
ex.printStackTrace();
}
}