Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.

jueves, 3 de abril de 2014

Imágenes. Recortar parte de una imagen.

Creamos un nuevo proyecto y en vista de diseño se agrega un jButton y un jPanel.


Codigo1 (Principal.java):

package Recortar;

public class Principal extends javax.swing.JFrame {

    public Principal() {
        initComponents();
        this.setLocationRelativeTo(null);
    }

          
    private void initComponents() { ... }                        

    private void jButtonIniciarActionPerformed(java.awt.event.ActionEvent evt) { 
        Imagen im = new Imagen(jPanel1);
        jPanel1.add(im).repaint();
    }                                              

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Principal().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButtonIniciar;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration                   
}


Codigo 2 (Imagen.java):

package Recortar;

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;

public class Imagen extends javax.swing.JPanel {
    
    int x, y;

    public Imagen(JPanel jPanel1) {
        this.x = jPanel1.getWidth();
        this.y = jPanel1.getHeight();
        this.setSize(x, y);
    }

    @Override
    public void paint(Graphics g) {
        BufferedImage imagen, recorte;
        try {
            File f = new File("src/Images/imagen1.png");
            imagen = ImageIO.read(f);
            g.drawImage(imagen, 0, 0, this);            
            recorte = ((BufferedImage) imagen).getSubimage(150, 150, 150, 150);
            g.drawImage(recorte, 0, 0, this);            
        } catch (IOException ex) { }
    }

}


Resultado:




















2 comentarios:

  1. Me sirvió mucho tu código de recortar imágenes. Gracias

    ResponderEliminar
  2. Tu código es de mucha ayuda gracias por tus publicaciones

    ResponderEliminar

Con la tecnología de Blogger.