Попытка использовать методJavaFX snapshot
для захвата элемента «Background». Меня особенно интересует фон узла (как следует из названия).моментальный снимок JavaFX не фиксирует фон
Если я настраиваю свою сцену на StackPane
, а фон буквально является ImageView
под тем, что я пытаюсь отобразить, тогда все работает нормально. Но если я использую более интуитивную функцию setBackground
узла и пытаюсь захватить моментальный снимок, он (фон) не появляется.
Например, это работает, как ожидалось, если вы getBackgroundNode().snapshot(new SnapshotParameters(), null)
:
private Node getBackgroundNode() {
ImageView background = new ImageView(new Image("https://www.yamaha-motor.ca/images/pages/products/units/MC/action/2016_FZ_07_2_l.jpg"));
Rectangle2D viewport = new Rectangle2D(0, 0, 1080, 720);
background.setViewport(viewport);
return background;
}
Однако ниже метод не показывает мне фон, когда я вызываю метод snapshot
.
private Node getBackgroundNode() {
Image background = new Image("https://www.yamaha-motor.ca/images/pages/products/units/mc/action/2016_fz_07_2_l.jpg");
StackPane stack = new StackPane();
stack.setBackground(new Background(new BackgroundImage(background, null, null, null, null)));
stack.setPrefSize(1080, 720);
return stack;
}
Является ли это просто особенность метода snapshot
? Я взглянул на SnapshotParameters
, и нет никаких очевидных настроек, которые позволили бы мне захватить фон.