Pages: [1]   Go Down
Print
Author Topic: Primo snippet di codice sulle BufferedImage  (Read 2092 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Giovanni Gallo
Moderator
Forumista
*****
Offline Offline

Gender: Male
Posts: 509


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

}
Logged

---
n2o1988
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 206



« Reply #1 on: 13-01-2009, 22:09:45 »

Grazie mille prof   
Logged
Fabiux
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 401



« Reply #2 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 
Logged
ilFolklorista
Matricola
*
Offline Offline

Posts: 58


a El Paso nulla è un caso


« Reply #3 on: 19-01-2009, 14:15:14 »

nel sito del professore Gallo c'è il materiale
http://www.dmi.unict.it/~gallo/appunti.html
Logged
Fabiux
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 401



« Reply #4 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 Tongue grazie lo stesso comunque
Logged
Markuz
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 151



« Reply #5 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 Tongue grazie lo stesso comunque

In effetti sarebbe utile poter avere il codice che abbiamo visto l'ultima volta a lezione... univ
Logged
Fabiux
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 401



« Reply #6 on: 19-01-2009, 21:02:45 »

ecco esattoooooooo
Logged
Pages: [1]   Go Up
Print
Jump to: