Visualizzazione dei risultati da 1 a 3 su 3

Discussione: soglia

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    38

    soglia

    prima c'era un errore nel codice,cmq invece di ottenere l'immagine desiderata a video non ottengo l'immagine di pertenza come 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;

    /*
    Un oggetto di questa classe e' una canvas contenente un'immagine,
    che puo' compiere l'azione di invertire i colori dell'immagine
    contenuta.
    Il main associato alla classe crea un frame con dentro una di
    queste canvas e un bottone. Quando l'utente preme il bottone
    la canvas inverte i colori della sua immagine.
    */

    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(img1,0,0,this);

    }

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

    try{

    img1 = new BufferedImage(img1.getWidth(), img1.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
    for (int i = 0; i < img1.getWidth(); i++) {
    for (int j = 0; j < img1.getHeight(); j++) {
    if(img2.getRGB(i, j)>0.9){
    img1.setRGB(i, j, img1.getRGB(i, j));
    }
    else{
    img1.setRGB(i, j, 0);
    }
    }
    }

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

    }

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    http://forum.html.it/forum/showthrea...readid=1247917

    Non serve aprire un milione di thread.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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

    Moderazione

    Originariamente inviato da Alex'87
    http://forum.html.it/forum/showthrea...readid=1247917

    Non serve aprire un milione di thread.
    Esatto.
    E non serve, oltretutto, riaprirlo con lo stesso titolo non conforme del precedente.


    Chiudo.


    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

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.