Ich habe einige Sachen mit Bildern in JLabel
s gemacht, und ich bemerkte, dass einige der Bilder (diejenigen, die schwarz enthielten) heller in der Beschriftung als sie angenommen wurden sein. Die Bilder wurden durch ImageIO#read(File)
geladen. Bilder, die durch ImageIcon
Konstruktoren geladen werden, sehen normal aus.Die Verwendung von ImageIO.read gibt ein modifiziertes Bild
Hier ist ein kleiner Test, dass ich zusammen für dieses Bild warf:
JFrame frame = new JFrame();
frame.setLayout(new FlowLayout());
frame.setSize(320, 320);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
URL imageURL = new URL("https://wiki.factorio.com/images/Crude-oil.png");
frame.add(new JLabel(new ImageIcon(ImageIO.read(imageURL))));
frame.add(new JLabel(new ImageIcon(imageURL)));
frame.setVisible(true);
Das Ergebnis:
Irgendwelche Ideen, warum dies passiert sein könnte?
Danke; Interessant, dass beide Ihrer Links (der Bug und andere Antworten) JPEGs referenzieren, während meiner eine PNG ist. – ricky3350
Tut mir leid, ich konnte keine Referenz zu PNG finden, aber ich habe jetzt etwas Interessantes gefunden. Bitte überprüfen Sie die Bearbeitung. –
Auch interessant; Ich schätze die zusätzliche Forschung sehr. Ich fürchte, ich kann nicht wieder aufladen, oder ich würde es tun. – ricky3350