Afficher une image en Java

Rupam Yadav 12 octobre 2023
  1. Afficher une image en Java à l’aide de JLabel.setIcon()
  2. Afficher une image en Java à l’aide de la bibliothèque ImageJ
Afficher une image en Java

Nous pouvons afficher une image de plusieurs manières en Java. Ci-dessous, nous verrons comment afficher une image en Java en utilisant deux méthodes.

Afficher une image en Java à l’aide de JLabel.setIcon()

Dans le premier exemple, nous utilisons la classe JLabel de la bibliothèque Swing. JLabel étend JComponent, et nous pouvons attacher ce composant à un JFrame. Pour lire le fichier image, on utilise la classe File et on passe le chemin de l’image. Ensuite, nous convertissons l’image en un objet BufferedImage en utilisant ImageIO.read(). Maintenant, nous créons une icône à afficher dans le JLabel.

Pour afficher l’icône de l’étiquette, nous avons besoin d’un objet JFrame avec un FlowLayout et une taille de 500 x 500. La taille peut être ajustée selon nos besoins. Maintenant, nous créons un objet JLabel et définissons son icône à l’aide de la fonction JLabel.setIcon(). Ensuite, nous ajoutons le composant JLabel à JFrame et définissons la visibilité du cadre comme vraie.

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);
  }
}

Production:

afficher une image en java

Afficher une image en Java à l’aide de la bibliothèque ImageJ

Dans ce programme, nous utilisons une puissante bibliothèque de traitement d’images appelée ImageJ. Pour l’utiliser, nous importons d’abord le référentiel maven et la dépendance dans 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>

Notre objectif est de montrer une image, et ImageJ le rend simple pour nous. Voici le code où nous appelons d’abord une fonction statique openImage() de la classe IJ et passons le chemin de l’image en argument. Notez que nous n’écrivons que le nom de l’image avec ses extensions car notre image est dans le même répertoire.

IJ.openImage() renvoie un objet ImagePlus. Nous appelons maintenant la méthode show() en utilisant l’objet imagePlus. Nous pouvons voir que la sortie montre une image dans un cadre.

import ij.IJ;
import ij.ImagePlus;

public class DisplayImage {
  public static void main(String[] args) {
    ImagePlus imagePlus = IJ.openImage("mountains.jpeg");
    imagePlus.show();
  }
}

Production:

afficher une image en java

Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Article connexe - Java JLabel

Article connexe - Java Swing