Brillo y contraste sobre una imagen

susana
13 de Octubre del 2004
Hola, tengo una aplicación con 2 botones que supuestamente deberían de hacer brillo y contraste sobre una imagen. ¿Alguien podría decirme pq no funciona?. El código es el siguiente:

public class BrilloContraste extends Canvas
{
float[] brillo = {0f,0f,0f,0f,1.5f,0f,0f,0f,0f};
float[] contraste = {-1f,-1f,-1f,-1f,9f,-1f,-1f,-1f,-1f};
BufferedImage normal;
BufferedImage current;
public Image imagen;

BrilloContraste(Image image)
{
imagen = image;
int w = image.getWidth(this);
int h = image.getHeight(this);
normal = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);
current = normal;
Graphics2D g2 = normal.createGraphics();
g2.drawImage(image,0,0,this);
setSize(w,h);
}

public void paint(Graphics g)
{
g.drawImage(current,0,0,this);
}

public void setBrillo()
{
Kernel kernel = new Kernel(3,3, brillo);
System.out.println("kernek"+kernel.getXOrigin());
System.out.println("kernek"+kernel.getYOrigin());
ConvolveOp co = new ConvolveOp(kernel,ConvolveOp.EDGE_NO_OP,null);
current = co.filter(normal,null);
repaint();
}

public void setContraste()
{
Kernel kernel = new Kernel(3,3, contraste);
ConvolveOp co = new ConvolveOp(kernel);
current = co.filter(normal,null);
repaint();
}
}

Gracias