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
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
|