Geoffrey Frogeye
a618bdaf42
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)
42 lines
993 B
C++
42 lines
993 B
C++
#include <vector>
|
|
|
|
typedef enum {PILG_BIN, PILG_NIV, PILG_RVB} PILG_Comp;
|
|
|
|
typedef struct Pixel {
|
|
PILG_Comp typeComposantes;
|
|
int maxComposante;
|
|
int r;
|
|
int v;
|
|
int b;
|
|
int g;
|
|
bool n;
|
|
} Pixel;
|
|
|
|
class Image {
|
|
public:
|
|
Image(int dimensionX, int dimensionY, int maxComposante,
|
|
PILG_Comp typeComposantes);
|
|
// Getters
|
|
int g_dimensionX() const;
|
|
int g_dimensionY() const;
|
|
PILG_Comp g_typeComposantes() const;
|
|
int g_maxComposante() const;
|
|
int g_pixel(int x, int y, Pixel &pixel) const;
|
|
// Setters
|
|
int s_pixel(int x, int y, Pixel pixel);
|
|
// Utilitaires
|
|
Pixel g_pixelVide() const;
|
|
Image g_vide() const;
|
|
// Validateurs
|
|
bool v_pixel(Pixel pixel) const;
|
|
bool v_dimensions(int x, int y) const;
|
|
|
|
private:
|
|
// Variables
|
|
int m_dimensionX;
|
|
int m_dimensionY;
|
|
PILG_Comp m_typeComposantes;
|
|
int m_maxComposante; // Maximum de composante (sauf binaire)
|
|
std::vector< std::vector< Pixel > > m_tab;
|
|
};
|