Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Image Java

  1. #1

    Image Java

    Devo visualizzare in java una sola parte di un' immagine!
    Come posso fare?
    grazie mille

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Puoi usare il metodo drawImage della classe Graphics (all'interno di un metodo paint() ).

    Questo è il prototipo:
    codice:
    g.drawImage(Image img, int x, int y, int width, int height, ImageObserver imgObs);
    Ad esempio, puoi usare questa classe:
    codice:
    class Immagine extends JPanel {
       private Image img;
       private int width;
       private int height;
    
       public Immagine(Image img, int width, int height) {
          this.img = img;
          this.width = width;
          this.height = height;
          repaint();
       }
    
       public void paint(Graphics g) {
          g.drawImage(img, 0, 0, width, height, this);
       }
    }
    Puoi costruire un oggetto di questa classe nel modo seguente ed aggiungerlo alla finestra di visualizzazione:
    codice:
    ...
    Image img = Toolkit.getDefaultToolkit().createImage("nomefile");
    Immagine miaImg = new Immagine(miaImg, dimLarghezza, dimAltezza);
    ...
    add(miaImg);
    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
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Aggiungo un PS:

    Questa classe è limitata perchè permette la visualizzazione di una parte dell'immagine che va dall'angolo superiore sinistro e si espande. Se si ha interesse a visualizzare una parte differente (per esempio la parte destra di un'immagine), la classe va modificata.

    Insomma... è migliorabile... e di molto! :gren: :gren:

    Ma è un punto da cui cominciare, almeno...


    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.