# Bilder werden unscharf angezeigt



## memo1990 (21. Sep 2018)

Hallo liebe Nerds,

vorab: Ich habe bereits versucht mein Problem über Google/Java-Forum zu lösen. Leider finde ich nichts in der Richtung.

Ich habe bereits mehrere Methoden versucht die Bilder in JWindow/JFrame zu laden. Über JLabel und paint(). Mit ImageIcon und BufferedImage/ImageIO. Leider wird mein Bild immer pixelig angezeigt. Woran liegt das?

Welche Möglichkeiten gibt es noch?

Hier ein paar Codezeilen, wie ich es bereits versucht habe:

1. Variante:

```
public class SplashScreen extends JWindow {
    JLabel labelImage;
 
    public SplashScreen() {
    setSize(400, 300);
    setLocationRelativeTo(null);
   
    labelImage = new JLabel(new ImageIcon(getClass().getResource("...")));
    add(labelImage);
  }
}
```


2. Variante

```
public class SplashScreen extends JWindow {

    Image image;
 
    public SplashScreen() {
        setSize(400, 300);
        setLocationRelativeTo(null);
    
        try {
            image = ImageIO.read(new File("..."));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
    @Override
    public void paint(Graphics g) {
        g.drawImage(image, 0, 0, this);
    }
}
```

Ich habe es auch über die Methode getScaledInstance() von der Image-Klasse versucht. Ebenfalls ohne Erfolg. Mir ist auch aufgefallen, dass das Fenster immer größer als 400x300 angezeigt wird.

Hier ein Vergleichsbild:
https://ibb.co/gUQiSK

Mein System: Windows 10 und JDK/JRE v10

MfG
memo1990


----------



## krgewb (22. Sep 2018)

Breite ist 500, müsste aber 400 sein. Also wird die Breite bzw. Länge um 25 % erhöht. Bei mir werden Bilder auch nicht in voller Schärfe angezeigt. Auf dem Screenshot sieht man meine Anzeige-Einstellungen. Diese gelten aber systemweit. Bei dir scheint es jedoch nur für Java-Anwendungen zu gelten.


----------



## mihe7 (22. Sep 2018)

Evtl. hilft es, mit den RenderingHints zu spielen: https://docs.oracle.com/javase/tutorial/2d/advanced/quality.html


----------



## memo1990 (22. Sep 2018)

krgewb hat gesagt.:


> Breite ist 500, müsste aber 400 sein. Also wird die Breite bzw. Länge um 25 % erhöht.



Wenn ich aber setSize(400, 300) einstelle. Warum wird das Fenster dann größer erstellt?



mihe7 hat gesagt.:


> Evtl. hilft es, mit den RenderingHints zu spielen: https://docs.oracle.com/javase/tutorial/2d/advanced/quality.html



Werde ich mir mal anschauen, danke.


----------



## krgewb (29. Okt 2018)

Oh man. Ich hatte dasselbe Problem wie du. Nach einem Neustart des Computers ist es nun wieder normal.


----------



## memo1990 (29. Okt 2018)

krgewb hat gesagt.:


> Auf dem Screenshot sieht man meine Anzeige-Einstellungen. Diese gelten aber systemweit. Bei dir scheint es jedoch nur für Java-Anwendungen zu gelten.



Ja mir ist es mittlerweile auch aufgefallen, wenn ich die Skalierung in Windows auf 100 % statt 125 % einstelle, dann werden die Icons scharf dargestellt. Gibt es da eine Lösung?


----------

