Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
highlevel:java:2d [2008/04/26 17:11] 127.0.0.1 editor externo |
highlevel:java:2d [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== Programación gráfica 2d en Java ====== | ====== Programación gráfica 2d en Java ====== | ||
| + | |||
| ===== Graphics ===== | ===== Graphics ===== | ||
| * Para dibujar sobre un Frame en java sustuiremos el método: ''public void paint (java.awt.Graphics g)'' | * Para dibujar sobre un Frame en java sustuiremos el método: ''public void paint (java.awt.Graphics g)'' | ||
| * El método **repaint** hace que el Frame vuelva a repintarse. | * El método **repaint** hace que el Frame vuelva a repintarse. | ||
| + | * Para acceder al área de cliente, saber donde empieza a verse el dibujo creado (ventana sin barra de título), utilizaremos el método ''getRootPane'' de un objeto JFrame. Este JRootPane (lo que devuelve el método) también contiene un método ''getGraphics''. | ||
| Línea 13: | Línea 15: | ||
| * [[highlevel:java:xtra#archivos_.jar|Leer una imágen de un .jar]] | * [[highlevel:java:xtra#archivos_.jar|Leer una imágen de un .jar]] | ||
| + | === Ejemplos === | ||
| + | * Cargar una imágen a partir de un array de bytes | ||
| + | <code java> | ||
| + | BufferedImage image = ImageIO.read (new ByteArrayInputStream (rawImageBytes)); | ||
| + | </code> | ||
| + | * Guardar una imágen en un array de bytes | ||
| + | <code java> | ||
| + | ByteArrayOutputStream baos = new ByteArrayOutputStream( 1000 ); | ||
| + | ImageIO.write( aBufferedImage, "jpeg", baos ); | ||
| + | baos.flush(); | ||
| + | byte[] resultImageAsRawBytes = baos.toByteArray(); | ||
| + | baos.close(); | ||
| + | </code> | ||
| + | * Cargar una BufferedImage a partir de un fichero | ||
| + | <code java> | ||
| + | BufferedImage image = ImageIO.read( new File( "rabbit.jpg" ) ); | ||
| + | </code> | ||
| + | * Guardar una BufferedImagen en un fichero | ||
| + | <code java> | ||
| + | ImageIO.write( aBufferedImage, "jpeg", new File ("snap.jpg")); | ||
| + | </code> | ||
| + | * Convertir una imágen en BufferedImage | ||
| + | <code java> | ||
| + | BufferedImage bufferedImage = new BufferedImage ( imageWidth, | ||
| + | imageHeight, | ||
| + | BufferedImage.TYPE_INT_BGR ); | ||
| + | bufferedImage.createGraphics().drawImage( image, 0, 0, this); | ||
| + | </code> | ||
| + | * Cargar una imágen a partir de una URL | ||
| + | <code java> | ||
| + | BufferedImage image = null; | ||
| + | try | ||
| + | { | ||
| + | image = ImageIO.read( url ); | ||
| + | } | ||
| + | catch ( IOException e ) | ||
| + | { | ||
| + | System.out.println( "image missing" ); | ||
| + | } | ||
| + | </code> | ||
| ==== Clase java.awt.Graphics ==== | ==== Clase java.awt.Graphics ==== | ||