哪些图像格式可以在 JavaFX 中调整大小

Which image formats can be resized in JavaFX

我们的 JavaFX 构建的桌面应用程序中使用了大约 100 张 jpeg 和 png 彩色图像,当 window 调整大小时,它们变得拉伸和模糊,所以我想重新制作所有图形一种允许在不降低质量的情况下动态调整大小的格式。应该使用什么图像格式或程序来执行此操作?

目前,每张图片都在一个 ImageView 中并按如下方式调整大小,但我愿意接受其他建议:

if(isSmall){
    Rectangle2D visualBounds = Screen.getPrimary().getVisualBounds();
    double sh = visualBounds.getHeight();
    Scale scale = new Scale(sh, sh, 0, 0);
    root.getTransforms().setAll(scale);
}

对于大多数常见格式,您无法将图像调整到比实际更大而不会使图像变得模糊。相反,请确保您的图像足够大,以便您只需要缩小它们。

我听说过的唯一可以进一步升级的格式是使用分形压缩,但据我所知,它并不常用。

如前所述,SVG 可能是适合您的方式。 JavaFX 不直接支持 SVG,但您可以在此处找到支持 javafxsvg and here svg-to-fxml-converter 例如。