/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package CapturarPantallas; import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; /** * permite manipuelar el objeto imagen * @author Bantec inc. */ public class ComparaImagenes { /** * Compara los pixeles entre img * @param imgA imagen 1 * @param imgB imagen 2 * @param porc numero pixeles maximos entre imagenes * @return true si las imagenes son diferentes */ public boolean compararImagenes(BufferedImage imgA, BufferedImage imgB, int porc) { int a = 0; for (int i = 0; i < imgA.getHeight(); i += 4) { for (int j = 0; j < imgA.getWidth(); j += 4) { if (imgA.getRGB(j, i) != imgB.getRGB(j, i)) { a++; } } } //System.out.println("diferencia entre imagenes : "+a); return a > porc; } /** * Obtiene imagen de un directorio * @param nombre Nombre del direcctorio * @return BufferedImage */ public BufferedImage cargarImg(String nombre, String dir) { Image image = null; image = new ImageIcon(dir + "\\" + nombre).getImage(); return toBufferedImage(image); } /** * Convierte el objeto Imagen a bufferImage * @param image Imagen * @return BufferedImage */ BufferedImage toBufferedImage(Image image) { if (image == null) { return null; } /** nos aseguramos que la imagen está totalmente cargada */ image = new ImageIcon(image).getImage(); /** creamos la nueva imagen */ BufferedImage bufferedImage = new BufferedImage( image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB); Graphics g = bufferedImage.createGraphics(); g.drawImage(image, 0, 0, null); g.dispose(); return (bufferedImage); } }