Java Swing,所有图像都显示为像素化

Java Swing,所有图像都显示为像素化,java,image,swing,Java,Image,Swing,Java Swing程序中的每个图像都将以低质量显示,如下所示: 正如您从图像中看到的,我遇到的问题不仅仅是图像,而是图形一般都是这样显示的。在右侧部分,您可以看到问题反映到JFreeChart图形中。是否有其他人有此问题,它是否与图形卡或windows DPI有关?同样的程序在其他机器上也会呈现得非常好,所以我很确定它与代码无关。如果您使用的是g2d,请尝试启用抗锯齿 g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING,

Java Swing程序中的每个图像都将以低质量显示,如下所示:


正如您从图像中看到的,我遇到的问题不仅仅是图像,而是图形一般都是这样显示的。在右侧部分,您可以看到问题反映到JFreeChart图形中。是否有其他人有此问题,它是否与图形卡或windows DPI有关?同样的程序在其他机器上也会呈现得非常好,所以我很确定它与代码无关。

如果您使用的是g2d,请尝试启用抗锯齿

g2d.setRenderingHint(
    RenderingHints.KEY_ANTIALIASING,
    RenderingHints.VALUE_ANTIALIAS_ON);
更多信息:

在JFreeChart中,请尝试以下代码:

chart.setRenderingHints(new RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON));

来源:

我的问题是,我在窗口上打开了125%的缩放,图像和帧必须进行缩放,以适应给定的大小。您所要做的就是转到“显示设置”,并在“截面比例”和“布局设置”中缩放到100%

如果您不想降低缩放比例,可以通过添加以下参数将此参数添加到IDE上的VM:

-Dsun.java2d.dpiaware=false

或者,如果第一个不起作用,试试这个

-Dsun.java2d.uiScale=1.0


这只适用于Swing

我将更改应用于JFreeChart,使其变得更糟。我认为我不能也不应该通过代码来解决这个问题,因为我不想在我的应用程序中使用必要的代码来解决只有我的机器才能解决的问题。非常感谢您的回复。如果相同的程序在其他机器上正常工作,通常的猜测/提示是在遇到问题的机器上更新图形卡驱动程序。真是个猜测,只是。。。