Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - crea immagine
Forum - Java - crea immagine

Avatar
ann9 (Normal User)
Newbie


Messaggi: 1
Iscritto: 14/06/2008

Segnala al moderatore
Postato alle 11:32
Sabato, 14/06/2008
devo creare un'immagine ed utilizzo il seguente codice però non ottengo quello che voglio.I valori estratti tramite il metodo getRGB sono negativi invece dovrebbe essere positivi coma mai?:(



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;



class Esempio4 extends Canvas implements ActionListener
{
  /* immagine contenuta */
BufferedImage img1;
    BufferedImage img2;
        BufferedImage ret;
    
  /* creatore, carica l'immagine dal file che e' passato come argomento */
  public Esempio4(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 = img1.getWidth(this);
    int height = img1.getHeight(this);


    
      
    return new Dimension(width,height);
  }

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


  }

  /* reagisce invertendo i colori dell'immagine e ridisegnandola */
  public void actionPerformed(ActionEvent ev)
  {

      try{
          //BufferedImage.TYPE_INT_ARGB
    
    ret = new BufferedImage(img1.getWidth(), img1.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
        for (int i = 0; i < ret.getWidth(); i++) {
            for (int j = 0; j < ret.getHeight(); j++) {
        
        if(img2.getRGB(i, j)>0.9){
        //System.out.println(img2.getRGB(i, j));
                ret.setRGB(i, j, img1.getRGB(i, j));
            }
            else{
                ret.setRGB(i, j,0);
                    
                }                    
            }
    
        }
    repaint();
        
      }
    catch(Exception e){System.out.println("eccezione");
    }
    
    
  }

  /* main di esempio */
  public static void main(String[] args)
  {
    
    Esempio4 es = new Esempio4("filtro16(20-50).jpg","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);
  }

}

PM Quote