Elle est quasiment finie, autant en faire un billet.
Copie d’écran
Fonctionnalités
- recharger une image
- sauver
- sauver sous
- supprimer
- charger un répertoire
- quitter l’application
- réduire le nombre de couleurs
- zoom in
- zoom out
- nettoyer ( effacer les points parasites )
- rotation +90°
- rotation -90°
- fill couleur ( borné par autre couleur )
- remplacer une couleur
- prélever une couleur
- couper
- définir un rectangle
- bookmarquer
- dé-bookmarquer
- statistiques des couleurs de l’images
- mesurer les dimensions
- plein écran
- dans le navigateur
- trouver un code couleur
fichiers de ressources ( property file )
- un fichier pour gérer les paramètres de l’application
- un fichier pour gérer les éléments du menu
- un fichier pour chaque fournisseur de couleur à afficher dans une jtable
Et concernant les images traitées ?
- elles sont stockées dans un BufferedImage
- plutôt que d’utiliser les fonctions java de transformations affines, les rotations sont traitées directement par permutations dans un repère (x,y)
- la fonction fill est assez rapide, moins de 3 secondes pour traiter une grande zoe ) borner ( 1 seconde pour substituer tous les points d’une image ( 1000 * 1000 pixels )
- la fonction ‘sauver sous’ sauve les images au format png ( RVB sans alpha )
Et concernant les couleurs utilisées ?
- voir les billets précédents
- chaque ligne est de la forme code_couleur.rgb=0x??????
- un comparator est utilisé avec les jtable pour gérer les données stockées dans des listes triées. Il faut que ‘h12’ s’affiche avant ‘h101’ etc.
- les jtable statistiques et (un)bookmark sont mise à jour directement à partir des click de souris sur l’image
Autres informations
- pas mal de design patterns utilisés, pas mal de découplage des différents composants avec un pattern Observer amélioré
- pas mal de classes génériques paramétrées utilisées
- création d’un générateur automatique de remplissage d’un Jmenu et d’un JtoolBar ( voir copie d’écran )
- la fonction undo a été retirée, le stockage des images étant très volumineux, une petite centaine d’actions ( avec sauvegarde des images ) sature la mémoire sur mon PC. Les 10 dernières actions auraient pu être gérée
- un splash screen pour afficher les informations durant le chargement de l’application
- …
Fonctionnalités à rajouter ?
- éclaircir / foncer des couleurs
- améliorer les contrastes ( il y a des algorithmes sympas ;) )
- appliquer des filtres
- en bref, réinventer ce que font photoshop, the Gimp et autres logiciels de traitement d’images
Aucun commentaire:
Enregistrer un commentaire