Crear una imagen de mapa de bits en Java

Mohd Mohtashim Nawaz 12 octubre 2023
  1. Imagen de mapa de bits en Java
  2. Use la clase BufferedImage para crear una imagen de mapa de bits en Java
Crear una imagen de mapa de bits en Java

El mapa de bits es un formato de archivo de imagen que almacena imágenes como una matriz de bits organizados de una manera particular para producir la imagen.

Este artículo analiza cómo podemos crear una imagen de mapa de bits en Java.

Imagen de mapa de bits en Java

Java no tiene una clase de mapa de bits específica para representar imágenes de mapa de bits.

En su lugar, tiene una clase BufferedImage. Esta clase es una subclase de la clase Image e incluye un modelo de color y una trama de datos de imagen.

Puede usar la clase BufferedImage para almacenar los datos de la imagen como píxeles. Puede invocar los métodos get y set de la clase para manipular los valores de píxel para obtener la imagen deseada.

Tipos de imagen de mapa de bits en Java

La imagen de mapa de bits de Java o BufferedImage de Java tiene varios tipos diferentes. Puede establecer la variable de bandera que representa el tipo de imagen en el propio constructor.

Los tipos difieren en los esquemas de color, e incluso puede producir una imagen en escala de grises. Para saber más sobre las banderas y los métodos de la clase BufferedImage, puedes visitar aquí.

Use la clase BufferedImage para crear una imagen de mapa de bits en Java

Puede crear una imagen de mapa de bits en Java utilizando la clase BufferedImage y el método setRGB().

Nos proporciona un búfer de datos y varios métodos que podemos usar para manipular los datos de la imagen. Para crear un BufferedImage, podemos usar el constructor BufferedImage().

El constructor BufferedImage() toma el ancho de la imagen como su primer argumento de entrada, la altura de la imagen como su segundo argumento de entrada y una constante entera que representa el tipo de imagen como su tercer argumento de entrada.

El método setRGB(), cuando se invoca en una BufferedImage, establece un píxel en la BufferedImage con un valor RGB específico.

El método setRGB() toma la coordenada x del píxel a manipular como primer argumento de entrada, la coordenada y del píxel como segundo argumento de entrada y un valor RGB entero como tercer argumento de entrada. Usamos el valor RGB rojo como el tercer argumento de entrada en nuestro ejemplo a continuación.

Veamos el código que produce una imagen de mapa de bits de tamaño 10x10 y la colorea de rojo.

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

Producción :

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

Creamos una imagen de mapa de bits en Java almacenada en la variable img en el ejemplo anterior. Puede colorear cada píxel recorriendo la imagen.

Y el resultado que se muestra en la consola son los metadatos de la imagen.

Si desea ver la imagen, debe guardar la imagen en un formato de imagen como png, jpg, etc. También puede configurar el color de su elección a la imagen pasando los valores RGB al setRGB() método.

Artículo relacionado - Java Image