Es wurde versucht, die Methode snapshot
von JavaFX StackPane
zu verwenden, um ein "Hintergrund" -Element zu erfassen. Ich bin speziell am Hintergrund eines Knotens interessiert (wie der Name schon sagt).JavaFX-Snapshot erfasst keinen Hintergrund
Wenn ich meine Szene mit einem StackPane
einrichten, und der Hintergrund buchstäblich ein ImageView
unter was ich versuche zu zeigen, dann funktioniert alles gut. Aber wenn ich die intuitivere setBackground
-Funktion eines Knotens verwende und versuche, einen Schnappschuss zu erfassen, wird er (der Hintergrund) nicht angezeigt.
Zum Beispiel dies wie erwartet funktioniert, wenn Sie getBackgroundNode().snapshot(new SnapshotParameters(), null)
tun:
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;
}
jedoch die folgenden Verfahren nicht zeigen Sie mir nicht den Hintergrund, wenn ich die snapshot
Methode aufrufen.
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;
}
Ist das einfach ein Merkmal der snapshot
Methode? Ich habe mir SnapshotParameters
angesehen und es gibt keine offensichtlichen Einstellungen, die es mir ermöglichen würden, den Hintergrund zu erfassen.