Guardar Imágenes |
||||
Archivos necesarios: |
||||
En este trial vamos a ver cómo podemos guardar imágenes en Java. Como podremos ver guardar imagenes es algo muy sencillo que podemos implementar en casi cualquier proyecto porque el método es genérico. Guardar imágenes es una parte fundamental de los programas de edición de imágenes pero también puede utilizarse en calculadoras que grafican para guardar una representación de la gráfica. El primer archivo contiene un programa similar al que utilizamos en el trial del StringTokenizer pero ahora nos permite guardar la gráfica a un archivo, el segundo archivo contiene el archivo del INEGI que vamos a graficar así como un grupo de imagenes necesarias para el programa, recuerda que las imágenes deben estar en el mismo directorio que las clases que se generan al compilar. |
||||
¿Cómo Guardar Imágenes? |
||||
| Primero debemos importar java.awt.image.* que contiene las clases necesarias para guardar imagenes, después debemos crear un nuevo objeto File que es donde vamos a guardar la imagen. | ||||
Ahora veamos el método que guarda la imágen. Como puedes ver recibe un archivo (el que acabamos de crear) y un JComponent. Recuerda que todos los objetos que utilizamos en Java para la interfaz gráfica son JComponent entonces podemos pasarle un JTextField o un JLabel o un JComponent que hayamos creado nosotros (como vimos en el trial de dibujar en una forma) por lo que este método es muy genérico y nos permite guardar a un archivo practicamente cualquier imágen. Lo primero que hace el método es crear un BufferedImage que recibe el ancho y alto de la imágen y también recibe un valor que podemos obtener de la clase BufferedImage que representa el tipo de archivo, los dos que vamos a utilizar son TYPE_INT_ARGB y TYPE_INT_RGB que representan imágenes con transparencia y sin transparencia respectivametne. Como puedes ver después creamos un objeto Graphics2D que es el que se va a encargar de dibujar lo que vamos a mandar al archivo, iniciamos este objeto mediante el método createGraphics() del BufferedImage que acabamos de crear. |
![]() |
|||
Ahora vamos a utilizar este Graphics2D para dibujar lo que queremos mandar al archivo, podemos utilizar el método paint() de un componente o podemos dibujar directamente como ya conocemos utilizando los métodos drawOval(), drawRect(), etc. Por último debemos crear un objeto de tipo RenderedImage que es el que vamos a guardar al archivo, este objeto lo creamos con el BufferedImage que ya tenemos como se ve en la foto de arriba. Una vez que ya tenemos el RenderedImage debemos utilizar el método write() de la clase ImageIO para guardarlo. Este método recibe un RenderedImage, un String que representa el tipo de archivo (se recomienda png, pero se puede utilizar jpg o gif) y el archivo al que vamos a escribir (la extensión no tiene que concordar pero obviametne es recomendable que si lo haga). |
||||