|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface Filter
Interface des filtres. Un filtre est une procédure permettant de modifier une image.
init() et celle ci doit renvoyer true si tout se passe convenablement.
Cette interface doit être écrite a l'aide de l'api Swing.
La fenêtre principale et la fenêtre de l'initialisation du filtre sont lancés dans des thread différentes, ainsi, il est nécéssaire de synchroniser les fenêtres (JFrame), c'est pourquoi nous avons créé une class nommée WaitableFrame permettant d'attendre que l'utilisateur ferme la fenêtre avant de continuer à exécuter le reste des opération. Attention, ne pas lancer une WaitableFrame dans l'EventDispatchThread
Par exemple :
Toutes les méthodes des classes implémentant cette interface sont exécutées. C'est pourquoi, il faut toutes les implémenter.
Cas de deux implémentations des filtres :
applyToPixel qui est executée sur tous les pixels.
Dans le deuxieme cas, il faut laisser la méthode applyToPixel vide, et implémenter la méthode start et effectuer soit même les calculs sur les pixels de l'image que l'on à choisi.
Dans les deux cas, les deux méthodes sont executées.
Lorsque le filtre est crée, afin qu'il puisse être utilisé dans Lovmi, il est nécéssaire de le déclarer dans fr/umlv/lovmi/filters.xml
Si une icone particulière est associée au filtre, il doit être copié dans le repertoire fr/umlv/lovmi/ressources dans le format png ou gif avec un format 24x24
| Method Summary | |
|---|---|
void |
applyToPixel(int line,
int column)
Applique le fitre sur un pixel, si il est possible de procéder comme cela. |
boolean |
canApply(Image image)
Un filtre ne peut pas s'executer sur n'importe quel image. |
Image |
getResult()
Cette méthode retourne l'image de résultat |
boolean |
init()
Permet d'inialiser le filtre, par exemple entrer des paramètres dans la console ou bien entrer des paramètres dans une interface graphique. |
boolean |
produceResult()
Permet de savoir si ce filtre produit un résulat sous forme d'image ou pas |
void |
start(Image in,
int startLine,
int startColumn,
int endLine,
int endColumn)
Démarre le filtre sur une image. |
void |
terminate()
Termine un filtre Cette méthode est souvent utilisée pour créer une nouvelle image, ou bien libérer de la mémoire. |
| Method Detail |
|---|
void start(Image in,
int startLine,
int startColumn,
int endLine,
int endColumn)
in - Image sur laquelle doit être executée le filtrestartLine - Pour une sous image, coin supérieur gauchestartColumn - Pour une sous image, coin supérieur gaucheendLine - Pour une sous image, coin inférieur droitendColumn - Pour une sous image, coin inférieur droit
void applyToPixel(int line,
int column)
line - lignecolumn - colonevoid terminate()
Image getResult()
boolean produceResult()
boolean canApply(Image image)
image - Image sur laquelle doit être effectuée le test
boolean init()
JFrame mais, une WaitableFrame.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||