我正在寻找一种渲染场景的视图隐藏方式,然后创建第二个缩小的副本以进行初始显示的方法。显然,我可以再次渲染内容,以仅创建较小的副本。使用另一种语言编写的原始代码通过使用平滑(空间过滤)收缩功能来创建小副本产生了更好的结果。 JavaFX中是否有这样的位图复制/缩小/平滑功能,这有什么用吗?

最佳答案

您可以将场景的快照创建为WritableImage,如下所示:

Scene scene =  ... ;

Image image = scene.snapshot(null);


然后在图像视图中使用以下命令显示其缩放版本:

ImageView sceneImage = new ImageView();
sceneImage.setFitWidth(desiredWidth);
sceneImage.setFitHeight(desiredHeight);
// force aspect ratio to be preserved if fitWidth and fitHeight would distort it:
sceneImage.setPreserveRatio(true);
// this provides a tiny bit of control over the scaling used:
sceneImage.setSmooth(true);

sceneImage.setImage(image);

08-07 03:36