JavaFX ImagePane调整坏质量

Mar*_*ujo 8 css java javafx image-processing

如何以更好的质量渲染图像?

该节点是一个带有css的窗格:

.imagePane {
    -fx-background-repeat: no-repeat;
    -fx-background-image: url('../../img/logo/icon_white.png');
    -fx-background-size: cover; 
}
Run Code Online (Sandbox Code Playgroud)

应用程序内的图像:

应用程序内的图像

默认图片: 默认图片

链接到PSD:https://drive.google.com/file/d/0B0YK52wzjJg3c2NFc0NSTDNKWGM/view? usp =sharing

我试图把最好的图像质量但它仍然导致像素化

小智 0

我建议您尝试在 Java 代码中初始化背景。您可以将背景设置到窗格中。

Pane#setBackground(background);
Run Code Online (Sandbox Code Playgroud)

如果初始化一个背景,您将首先初始化一个背景图像,而背景图像需要一个图像。在图像的构造函数中,您可以定义requestedWith和requestedHeight。这些是应加载文件的分辨率的属性。最终代码可能如下所示。

pane.setBackground(new Background(new BackgroundImage(new Image(inputStream, 500, 500, true, true), BackgroundRepeat.NO_REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.CENTER, new BackgroundSize(pane.getWidth(), pane.getHeight(), false, false, false, true))));
Run Code Online (Sandbox Code Playgroud)

在这种情况下,图像将以 500 x 500 的分辨率加载,并调整大小为 pane.getHeight 和 pane.getWith。