Applet MultiImage

Nota

Questa applet è progettata per essere funzionale, quindi è più complicata delle altre di esempio pubblicate su questo sito. Di seguito cercherò di mostrarvi il funzionamento, tenendo presente che si tratta di un ottimo esempio sull'utilizzo di java.awt.image.MemoryImageSouce, la classe Java che permette di creare animazioni editando direttamente i pixels dell'immagine.

Sommario

Demo

Applet 1 - MultiImage

Indice

Parametri

Di seguito vengono presentati i parametri compresi dall'applet. Ovviamente, ove default non è specificato il campo è richiesto dall'applet; ove vi sia si tratta di un campo opzionale.

Nome parametro Variabili parametro Valore Default Commenti
Immagine#num 0 ≤ num ≤ infinito
String
-
Si possono inserire directory relative a getCodeBase().
ImmagineMask
-
String
-
Immagine della maschera. Guardate la demo per capire cosa intendo. Si possono inserire directory relative a getCodeBase().
AttesaFraImmagini 1 ≤ num ≤ infinito
int
3
Questo valore indica i secondi di attesa fra una animazione e l'altra.

Indice

Sorgente commentato

Il progetto si basa prevalentemente su 2 classi:

  • MultiImage.class che si occupa di richiamare i metodi per modificare l'immagine.
  • ImageChanger.class (astratta). Classe da cui ereditano tutte quelle che eseguono il cambiamento dei pixels dell'immagine.

Nota: il codice commentato presentato seguendo gli hyperlink sovrastanti è leggermente differente rispetto al codice reale (che potete comunque vedere scaricandolo) per motivi di efficienza. In particolare ho aggiunto una classe di immagazzinamento dei pixel per evitare di doverli ottenere ad ogni ciclo (PixelStocker). Ho preferito agire così per mantenere semplice il codice presentato.

Grazie al binding-posticipato di Java sarà il sistema stesso a smistare le chiamate di MultiImage direttamente ai metodi interessati.
Per vedere il codice commentato di queste classi seguite gli hyperlinks.

Indice

Download

Descrizione Dimensione Download
Codice sorgente completo
9 Kb

Indice

Ultimo aggiornamento della pagina: 8 Settembre 2003.

@2000 Francesco Cogno