Passage en v1.0.0 finale (il faut bien, à un moment...).
* Traitement image & commandes
* Ajout de la fonction teinte
* Ajout de la fonction saturation
* Ajout de la fonction luminosité
* Utilitaires
* Ajout de conversions RVB→TSL & TSL→RVB pour les fonctions teinte, saturation et luminosité
* L'image par défaut est désormais générée à partir de teinte et luminosité
* Affichage de la fenêtre
* La taille de l'écran est récupérable
* L'échelle est désormais variable et est calculée selon les dimensions de l'écran
Les commandes ajoutées dans le code sont désormais accessible depuis le programme, grâce à quelques modifications dans les différents arguments et beaucoup de copier/coller.
* Traitement de la commande
* Ajout des arguments valeur (v1), booléen (b1), texte (t1), fichier (f1), entree (e), sortie (s), composante (p)
* Toutes les valeurs (entier, floattant) sont désormais regroupées dans valeur
* Entree et sortie sont des fichiers qui seront lus et écrits (respectivement) sans conditions (pour une utilisation sans REPL)
* Ajout des commandes creer, ouvrir, sauver, trait, rectangle, cercle, disque, retourner, redimensionner, convRVB
* Ajout et modification de quelques codes d'erreur
* Corrections et améliorations diverses
Les fonctions sont accessibles en mode testing mais leur commande n'est pas intégrée.
* Traitement d'image
* Ajout de la fonction trait() (algorithme original), de retourner() et de convRVB()
* Correction des fonctions cercle(), disque() et redimensionner()
* Utilitaires
* Ajout d'un fichier de log (PILG-log.txt), pour éviter de surcharger la console, et fonctionner même en mode RELEASE
* Déplacement de afficherImage() depuis analyserCommande.cpp
* Ajout d'une constante ECHELLE à afficherImage() pour zoomer l'affichage
* Objet Image
* Correction d'une inversion X/Y visible sur des images plus hautes que large
* Mise à jour de TODO.md
* Modification des règles de formattage (encore des lignes pour rien)
Les fonctions marchent mais ne sont pas inclues dans les commandes disponibles, on fera ça avec tout le reste.
* traitementImage.cpp
* La fonction créer est désormais complète
* La fonction sauver est désormais complète
* utilitaires.cpp
* Ajout d'une fonction caraVersEntier() pour convertir manuellement un octet vers un int. Nécessaire car la conversion par type était assez difficile à maitriser
* test.cpp
* Ajout d'une fonction appliquer afin de faire des tests en série
* image.h
* Les unsigned int sont désormais remis en int
Cela a permis d'éviter quelques bugs lors de l'ouverture et de la fermeture de fichiers. Ils pourraient potentiellement être remis, mais ils ne servent pas à grand chose au final à par compliquer la tâche.
* Rajout de utilitaires.cpp aux dépendances du Makefile
Contient les travaux de la séance du 19/05/2014 ainsi que de précédents travaux
* traitementImage.cpp
* Ajout de la détection de l'en-tête et de ses informations dans la fonction ouvrir()
* Ajout de la fonction sauver() (non-fonctionelle)
* Mise en commentaire de la fonction trait() pour le moment
* Correction des fonctions cercle(), disque() et redimensionner() (non-testées)
* Ajout d'un fichier utilitaires.cpp
* Fonction presentation() qui montre un joli ASCII art
* Déplacement de imageDefaut()
* Déplacement de chaineVersXXX()
* testing.cpp
* Ajout d'un dossier tests avec différentes images de test
* Ajout d'instructions pour tester l'ouverture et la sauvegarde de fichiers
Des commandes qui fonctionnent vraiment ainsi quelques conversions entre types de composantes, cela suffit pour passer en alpha !
* Passage au stade d'alpha
Certaines commandes peuvent désormais être executées pleinement. On ne rajoutera pas de fonctionnalités (hormis les commandes) majeures.
* traitementImage.cpp
* Mise en fonction de convBIN et convNIV
* Correction de certaines erreurs
* Travis devrait être content
Note : convNIV et convRVB auront des valeurs par défaut en tant que maximum de composante, les fonctions n'étant pas très utiles à la base rien ne sert de les compliquer
* Enième modification du type de fonctions
* Resteront des int
* Permet de prendre en compte les erreurs qui ne devraient normalement pas arriver
* Passage de certaines lignes oubliées au formatteur
* pivoter()
* Suppression d'une stupidité mathématique (modulo 2π)
(Semble plus rapide, sans raison apparente)
* analyseCommande.cpp
* Les arguments sont désormais correctement analysés
* pivoter, convBIN et convNIV peuvent désormais être appelé
* Mise en fonction de chaineVersEntier()
* Ajout de chaineVersFlottant()
* Ajout de l'analyse de l'argument -angle
* Ajout de l'analyse de l'argument -couleur
* Ajout de messages d'erreurs correspondant à ce qui a été ennoncé précédement
Le programme dispose désormais d'une image par défaut affichée à l'écran. L'analyse de commandes a été travaillé, pour la tester la fonction rectangle fonctionne, sans arguments cependant, ce sera donc un carré prédéfini qui apparaitra sur l'image de test. Diverses améliorations notables cependant.
* Modifié main.cpp
* Ajout d'une Image par défaut (sorte de roue chromatique horizontale) aux proportions d'or
* Modifié analyserCommande.cpp
* Ajout d'une fonction d'affichage d'une Image à l'écran
* Ajout d'un objet Commande pour faciliter le transfert entre les fonctions
* Ajout d'executerCommande()
* Vérifie si les arguments requis sont présents grâce à argumentPresent()
* Execute la fonction correspondante dans traitementImage.cpp
* Ajout de procederCommande() qui gère l'execution d'analyserDecoupe() et d'executerCommande()
* Modifié traitementImage.cpp
* Puisque chaque fonction n'est pas censé échouer, les types de retour sont des void
* rectangle() codé
* Modifié affichageFenetre.cpp
* attendreFenetre() autorise une action sur le clavier
* Ajout de la valeur globale booléenne fenetreOuverte
* Corrigé un éventuel bug pouvant arriver lorsque les dimensions étaient rectangulaires
* Modifié l'objet Image
* Les validateurs sont désormais au nombre de deux, v_pixel() et v_dimensions() pour chaque Image, et sont publics
* Modifié testing.cpp
* Ajout fonctions génératrices d'images de test pour chaque type de composante
* Mis à jour TODO.md
* Amélioration du Makefile
* Modification de .travis.yml pour placer le `make testing` en post-script