gpt4 book ai didi

javafx-8 - 如何从不在现场的节点拍摄快照

转载 作者:行者123 更新时间:2023-12-04 12:08:02 25 4
gpt4 key购买 nike

情况是这样的:

我有一个 MeshPointLight添加到 Pane 中,我想从 Pane 中获取快照并在 ImageView 中显示结果。但它仅在我将 Pane 添加到场景中时才有效。

有没有办法从没有添加到场景中的节点拍摄快照?

最佳答案

根据 Node.snapshot 的文档

NOTE: In order for CSS and layout to function correctly, the node must be part of a Scene (the Scene may be attached to a Stage, but need not be).



您可以在不将其附加到舞台甚至不显示它的情况下创建新场景:
WritableImage writableImage = new WritableImage(1000, 600);

// here is your node such as PointLight
new Circle(200, 200, 50).snapshot(null, writableImage);

new Scene(chartVH, 1000, 600);
chartVH.snapshot(null, writableImage);
File outFile = new File("/tmp/aa.png");
System.out.println(outFile);
try {
ImageIO.write(SwingFXUtils.fromFXImage(writableImage, null), "png", outFile);
} catch (IOException e) {
e.printStackTrace();
}

关于javafx-8 - 如何从不在现场的节点拍摄快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23590974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com