Ein Bild in Java anzeigen
-
Anzeige eines Bildes in Java mit
JLabel.setIcon()
-
Anzeige eines Bildes in Java mit der Bibliothek
ImageJ
Wir können ein Bild auf verschiedene Weise in Java anzeigen. Im Folgenden sehen wir, wie Sie ein Bild in Java mit zwei Methoden anzeigen.
Anzeige eines Bildes in Java mit JLabel.setIcon()
Im ersten Beispiel verwenden wir die Klasse JLabel
der Swing-Bibliothek. JLabel
erweitert JComponent
, und wir können diese Komponente an einen JFrame
anhängen. Um die Bilddatei zu lesen, verwenden wir die Klasse File
und übergeben den Pfad des Bildes. Als nächstes konvertieren wir das Bild mit ImageIO.read()
in ein BufferedImage
-Objekt. Nun erstellen wir ein Icon, das im JLabel
angezeigt werden soll.
Um das Label-Icon anzuzeigen, benötigen wir ein JFrame
-Objekt mit einem FlowLayout
und einer Grösse von 500 x 500. Die Grösse kann an unsere Bedürfnisse angepasst werden. Nun erstellen wir ein JLabel
-Objekt und setzen dessen Icon mit der Funktion JLabel.setIcon()
. Dann fügen wir die Komponente jLabel
zu jFrame
hinzu und setzen die Sichtbarkeit des Frames auf true.
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;
public class DisplayImage {
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\User1\\Pictures\\Camera Roll\\java.png");
BufferedImage bufferedImage = ImageIO.read(file);
ImageIcon imageIcon = new ImageIcon(bufferedImage);
JFrame jFrame = new JFrame();
jFrame.setLayout(new FlowLayout());
jFrame.setSize(500, 500);
JLabel jLabel = new JLabel();
jLabel.setIcon(imageIcon);
jFrame.add(jLabel);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ausgabe:
Anzeige eines Bildes in Java mit der Bibliothek ImageJ
In diesem Programm verwenden wir eine leistungsstarke Bildverarbeitungsbibliothek namens ImageJ
. Um es zu verwenden, importieren wir zuerst das Maven-Repository und die Abhängigkeit in pom.xml
.
<repositories>
<repository>
<id>scijava.public</id>
<url>https://maven.scijava.org/content/groups/public</url>
</repository>
</repositories>
<dependency>
<groupId>net.imagej</groupId>
<artifactId>ij</artifactId>
<version>1.53j</version>
</dependency>
Unser Ziel ist es, ein Bild zu zeigen, und ImageJ
macht es uns einfach. Es folgt der Code, in dem wir zuerst eine statische Funktion openImage()
aus der Klasse IJ
aufrufen und den Pfad des Bildes darin als Argument übergeben. Beachten Sie, dass wir nur den Bildnamen mit seinen Erweiterungen schreiben, da sich unser Bild im selben Verzeichnis befindet.
IJ.openImage()
gibt ein ImagePlus
-Objekt imagePlus
zurück. Nun rufen wir die Methode show()
mit dem imagePlus
-Objekt auf. Wir können sehen, dass die Ausgabe ein Bild in einem Rahmen zeigt.
import ij.IJ;
import ij.ImagePlus;
public class DisplayImage {
public static void main(String[] args) {
ImagePlus imagePlus = IJ.openImage("mountains.jpeg");
imagePlus.show();
}
}
Ausgabe:
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInVerwandter Artikel - Java JLabel
- Ändern den JLabel-Text in Java Swing
- Zentrieren ein JLabel in Swing
- ActionListener zu JButton in Java hinzufügen
- Verwenden von setFont in Java