Forum Informatica Unict

Vecchi ordinamenti ad esaurimento => Laboratorio di Interazione => Topic started by: Giovanni Gallo on 13-01-2009, 19:35:23



Title: Primo snippet di codice sulle BufferedImage
Post by: Giovanni Gallo on 13-01-2009, 19:35:23
Su richiesta dei colleghi ecco il codice con cui abbiamo giocato oggi...

Code:
import java.awt.*;
import javax.swing.*;
import javax.imageio.*;
import java.io.*;
import java.awt.image.*;

public class esplorareBufferedImage
{
   public static void main(String [] args)
  {
   JFrame F = new BIFrame();
   F.setVisible(true);
  }
}

class BIFrame extends JFrame
{
 BIPanel pImm;
 infoPanel pInfo;

 public BIFrame()
 {
  super();
  this.setSize(new Dimension(500,500));
  this.setLocation(new Point(300,300));
  this.setTitle("Esplorazione delle Buffered Images");
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  pImm = new BIPanel("images2.jpg");
  pInfo = new infoPanel(pImm);
  add(pImm, BorderLayout.CENTER);
  add(pInfo, BorderLayout.SOUTH);
  this.pack();
 }
}

class BIPanel extends JPanel
{
 BufferedImage img= null;

public BIPanel(String nomeFileImmagine)
{
    //PEZZETINO "MAGICO": carica la immagine senza tanti fronzoli!
    try {
    img = ImageIO.read(new File(nomeFileImmagine));
        }
    catch (IOException e) { System.out.println("eccezione!");}
    //some esoterica to be explained...
     System.out.println(img.getColorModel());
      System.out.println(img.getType());
     System.out.println(img.getSampleModel());
     System.out.println(img.getRaster());
     System.out.println(img.getData());
    this.setPreferredSize(new Dimension(500,300));
}

public void paintComponent(Graphics g)
    {
       super.paintComponent(g);

       Graphics g2 = img.getGraphics();
       g2.setColor(Color.BLACK);
       g2.drawLine(0,0,100,110);
       g2.drawLine(0,110,100,0);
       g2.setFont(new Font("Monospaced",Font.PLAIN,40));
       g2.drawString("ciao",5,40);
       g.drawImage(img,0,0,300,300,0,0,img.getWidth(),img.getHeight(),null);
       // il "null" Ë l'ImageObserver, non effettivamente usato dalle BI
       // alternativa
       // g.drawImage(img,100,100,null);
       // g.drawImage(img,operatoreSullaImmagine, 0,0);

       /* scarabocchiare sulla immagine */
      // g.drawLine(0,0,300,300);
      // g.drawLine(0,300,300,0);
       try
         {
           File outputFile = new File("salvata.png");
            ImageIO.write(img,"png",outputFile);
         }
       catch (IOException e){ System.out.println("eccezione!");}
    }
}



class infoPanel extends JPanel
{
  String mainInfo = "";
  public infoPanel(BIPanel P)
      {
        BufferedImage img = P.img;
        mainInfo = "immagine caricata di dimensioni \n";
        mainInfo+=img.getWidth();
        mainInfo+=", ";
        mainInfo+=img.getHeight();
         this.setPreferredSize(new Dimension(500,200));
      }
  public void paintComponent(Graphics g)
  {
  super.paintComponent(g);
  g.drawString(mainInfo,5,30);
  }

}


Title: Re:Primo snippet di codice sulle BufferedImage
Post by: n2o1988 on 13-01-2009, 22:09:45
Grazie mille prof   .smile


Title: Re:Primo snippet di codice sulle BufferedImage
Post by: Fabiux on 19-01-2009, 11:58:53
Scusate ... ma un po di materiale per studiare ? .... so che ci sono le api .. ma anche qualche altra fonte mi farebbe comodo   :boh  grazie  .ciaociao


Title: Re:Primo snippet di codice sulle BufferedImage
Post by: ilFolklorista on 19-01-2009, 14:15:14
nel sito del professore Gallo c'è il materiale
http://www.dmi.unict.it/~gallo/appunti.html


Title: Re:Primo snippet di codice sulle BufferedImage
Post by: Fabiux on 19-01-2009, 15:47:50
Si gia fatto ... ma sulle ultime cose intendevo ..... sai prima del progetto vorrei saper gia usare tutto senza dubbi :P grazie lo stesso comunque


Title: Re:Primo snippet di codice sulle BufferedImage
Post by: Markuz on 19-01-2009, 18:32:28
Si gia fatto ... ma sulle ultime cose intendevo ..... sai prima del progetto vorrei saper gia usare tutto senza dubbi :P grazie lo stesso comunque

In effetti sarebbe utile poter avere il codice che abbiamo visto l'ultima volta a lezione... |-O


Title: Re:Primo snippet di codice sulle BufferedImage
Post by: Fabiux on 19-01-2009, 21:02:45
ecco esattoooooooo