Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    38

    dinamico

    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);

    }

    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Anzitutto il titolo non è propriamente conforme: sprecare qualche parolina in più non guasta (che vuol dire "dinamico" secondo te?)

    In secondo luogo, se non specifichi quali errori ottieni (se ottieni errori) o quali effetti indesiderati, come facciamo noi a sapere cosa c'è che non va? Non puoi costringere le persone a copiarsi il codice (tra l'altro non indentatoe non formattato con gli appositi tag CODE previsti dal forum) a compilarlo (che magari utilizza pure librerie esterne) e a testarlo per capire quali cose non funzionano.


    Cerca, quindi, di far capire meglio qual è il problema che ottieni...

    Il titolo lo correggerò io di conseguenza...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    38
    io voglio vedere a video la somma delle due immagini che viene effettuata più volte,quello che ottengo è solo l'immagine totale

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.