ho due immagine le carico e le sommo ne ottengo una terza che voglio vedere a video più volte la somma,in modo da ottenere un immagine dinamica.
cosa c'è che non va in questo codice?


import com.pearsoneduc.ip.op.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
import java.awt.color.ColorSpace;



public class Contrasto extends Canvas implements ActionListener
{
/* immagine contenuta */
BufferedImage img1;
BufferedImage img2;
BufferedImage outputimage;


/* creatore, carica l'immagine dal file che e' passato come argomento */
public Contrasto(String imageFile1,String imageFile2)
{


try
{
img1 = ImageIO.read(new File(imageFile1));
img2 = ImageIO.read(new File(imageFile2));

}
catch (IOException e) {};
}


public Dimension getPreferredSize()
{

int width = img2.getWidth(this);
int height = img2.getHeight(this);

return new Dimension(width,height);
}
public void paint(Graphics g)
{
g.drawImage(outputimage,0,0,this);


}

public void actionPerformed(ActionEvent ev)
{

try{
//Rafal santos

outputimage = new BufferedImage(img2.getWidth(), img2.getHeight(), BufferedImage.TYPE_BYTE_GRAY);

WritableRaster imput1=img1.copyData(null);
WritableRaster imput2=img2.copyData(null);
WritableRaster output=outputimage.getRaster();


for (int i = 0; i < (img1.getWidth()); i++) {
for (int j = 0; j < (img1.getHeight()); j++) {
double value1=imput1.getSample(i,j,0);
double value2=imput2.getSample(i,j,0);
for(int y=0; y<10; y++){
double valore=value1+value2;
output.setSample(i,j,0,valore);
repaint();
}

}


//System.out.println(valore);
}




}
//ImageIO.write(outputimage,"jpg",new File("sogliaprova2.jpg"));



catch(Exception e){System.out.println("eccezione");
}


}

/* main di esempio */
public static void main(String[] args)
{

Contrasto es = new Contrasto("Immagineoriginale.jpg","PN16-16.jpg");

Frame f = new Frame("Esempio1");
f.setLayout( new BorderLayout() );
f.add(BorderLayout.CENTER,es);
Button b = new Button("fft");
f.add(BorderLayout.SOUTH,b);

b.addActionListener(es);

f.pack();

f.setVisible(true);

}

}