Créer une image bitmap en Java

Mohd Mohtashim Nawaz 12 octobre 2023
  1. Image bitmap en Java
  2. Utiliser la classe BufferedImage pour créer une image bitmap en Java
Créer une image bitmap en Java

Le bitmap est un format de fichier image qui stocke les images sous la forme d’un tableau de bits organisés d’une manière particulière pour produire l’image.

Cet article explique comment créer une image bitmap en Java.

Image bitmap en Java

Java n’a pas de classe Bitmap spécifique pour représenter les images bitmap.

Au lieu de cela, il a une classe BufferedImage. Cette classe est une sous-classe de la classe Image et comprend un modèle de couleur et un raster de données d’image.

Vous pouvez utiliser la classe BufferedImage pour stocker les données d’image sous forme de pixels. Vous pouvez invoquer les méthodes get et set de la classe pour manipuler les valeurs de pixel afin d’obtenir l’image souhaitée.

Types d’images bitmap en Java

L’image bitmap Java ou Java BufferedImage a plusieurs types différents. Vous pouvez définir la variable flag représentant le type de l’image dans le constructeur lui-même.

Les types diffèrent dans les schémas de coloration et vous pouvez même produire une image en niveaux de gris. Pour en savoir plus sur les drapeaux et les méthodes de la classe BufferedImage, vous pouvez visiter ici.

Utiliser la classe BufferedImage pour créer une image bitmap en Java

Vous pouvez créer une image bitmap en Java en utilisant la classe BufferedImage et la méthode setRGB().

Il nous fournit un tampon de données et diverses méthodes que nous pouvons utiliser pour manipuler les données d’image. Pour créer un BufferedImage, on peut utiliser le constructeur BufferedImage().

Le constructeur BufferedImage() prend la largeur de l’image comme premier argument d’entrée, la hauteur de l’image comme deuxième argument d’entrée et une constante entière représentant le type d’image comme troisième argument d’entrée.

La méthode setRGB(), lorsqu’elle est invoquée sur un BufferedImage, définit un pixel dans le BufferedImage avec une valeur RVB spécifique.

La méthode setRGB() prend la coordonnée x du pixel à manipuler comme premier argument d’entrée, la coordonnée y du pixel comme deuxième argument d’entrée et une valeur RVB entière comme troisième argument d’entrée. Nous avons utilisé la valeur RVB rouge comme troisième argument d’entrée dans notre exemple ci-dessous.

Voyons le code qui produit une image bitmap de taille 10x10 et la colore en rouge.

import java.awt.Color;
import java.awt.image.BufferedImage;

public class ImageExample {
  public static void main(String[] args) {
    BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_4BYTE_ABGR);
    img.setRGB(1, 1, Color.RED.getRGB());
    System.out.println(img);
  }
}

Production:

BufferedImage@50040f0c: type = 6 ColorModel: #pixelBits = 32 numComponents = 4 color space = java.awt.color.ICC_ColorSpace@7a4f0f29 transparency = 3 has alpha = true isAlphaPre = false ByteInterleavedRaster: width = 10 height = 10 #numDataElements 4 dataOff[0] = 3

Nous avons créé une image bitmap en Java stockée dans la variable img dans l’exemple ci-dessus. Vous pouvez colorer chaque pixel en faisant une boucle dans l’image.

Et la sortie affichée sur la console est les métadonnées de l’image.

Si vous voulez voir l’image, vous devez enregistrer l’image dans un format d’image tel que png, jpg, etc. Vous pouvez également définir la couleur de votre choix à l’image en passant les valeurs RVB au setRGB() méthode.

Article connexe - Java Image