Java implementa un tipo particular de objeto llamado BufferedImage para imágenes en Java. Una imagen almacenada en búfer se puede leer desde varios tipos de imágenes distintos (es decir, BMP, HEIC, etc.). No todos están respaldados por ImageIO, pero existen complementos para ampliar ImageIO y otras bibliotecas, como Apache Imaging y JDeli.
En Java mismo, toda la complejidad de varios tipos de imágenes está oculta y solo trabajamos en BufferedImage. Java proporciona acceso inmediato a los píxeles de la imagen y la información de color y permite conversiones y procesamiento de imágenes.
Clases requeridas para realizar las operaciones de lectura y escritura:
1. java.io.File: Para leer y escribir un archivo de imagen, debemos importar la clase File. Esta clase representa nombres de rutas de archivos y directorios en general.
2. java.io.IOException: para manejar errores, usamos la clase IOException.
3. java.awt.image.BufferedImage: Para guardar la imagen, creamos el objeto BufferedImage; usamos la clase BufferedImage. Este objeto se utiliza para almacenar una imagen en la RAM.
4. javax.imageio.ImageIO: Para realizar la operación de lectura y escritura de imágenes, importaremos la clase ImageIO. Esta clase tiene métodos estáticos para leer y escribir una imagen.
Java
// Java program to demonstrate read and write of image import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class MyImage { public static void main(String args[]) throws IOException { // width of the image int width = 963; // height of the image int height = 640; // For storing image in RAM BufferedImage image = null; // READ IMAGE try { File input_file = new File( "C:/Users/hp/Desktop/Image Processing in Java/gfg-logo.png"); // image file path create an object of // BufferedImage type and pass as parameter the // width, height and image int // type. TYPE_INT_ARGB means that we are // representing the Alpha , Red, Green and Blue // component of the image pixel using 8 bit // integer value. image = new BufferedImage( width, height, BufferedImage.TYPE_INT_ARGB); // Reading input file image = ImageIO.read(input_file); System.out.println("Reading complete."); } catch (IOException e) { System.out.println("Error: " + e); } // WRITE IMAGE try { // Output file path File output_file = new File( "C:/Users/hp/Desktop/Image Processing in Java/gfg.png"); // Writing to file taking type and path as ImageIO.write(image, "png", output_file); System.out.println("Writing complete."); } catch (IOException e) { System.out.println("Error: " + e); } } // main() ends here } // class ends here
Producción –
Nota: este código no se ejecutará en el IDE en línea, ya que necesita una imagen en el disco.
Este artículo es una contribución de Pratik Agarwal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA