Crear una imagen de mapa de bits en Java
- Imagen de mapa de bits en Java
-
Use la clase
BufferedImage
para 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.