Newer
Older
#include <iostream>
using namespace std;
class Image
{
private:
unsigned int dimx;///< Entiers non-signés représentant la dimensions X de l'image.
unsigned int dimy;///< Entiers non-signés représentant la dimensions Y de l'image.
Pixel & getPix(const unsigned int &x, const unsigned int &y) const;
Pixel getPix2(const unsigned int &x, const unsigned int &y)const;
void setPix(const unsigned int &x, const unsigned int &y, const Pixel &couleur);
void dessinerRectangle(unsigned int Xmin, unsigned int Ymin, unsigned int Xmax, unsigned int Ymax, const Pixel & couleur);
void effacer (const Pixel & couleur);
Pixel * getTab()const;
void sauver(const string &filename) const;
void ouvrir(const string &filename);
void afficherConsole()const;
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/**
* @class Image
*
* @brief La classe Image contient deux entier dimx et dimy (dimensions de l'image), un tableau de Pixel ainsi que des fonctions et procédure permettant la manipulation de l'image et des pixels qui la composent.
*
*/
/**
* \fn Image::Image()
* @brief Constructeur par défaut de la classe Image: initialise dimx et dimy à 0.
* N’alloue aucune mémoire pour le tableau de pixel.
*
* @return Renvoi une Image dont les dimensions dimx et dimy sont égales à 0.
*/
/**
* \fn Image::Image(const unsigned int &x, const unsigned int &y)
* @brief Constructeur de la classe Image: initialise dimx et dimy avec les paramètres x et y.
* Alloue le tableau de pixel dans le tas (image noire).
*
* @return Renvoi l'instance de l'Image crée avec les dimensions dimx et dimy étant égales à x et y et le tableau de pixel initialisé selon les dimensions.
*/
/**
* \fn Image::~Image()
* @brief Destructeur de la classe : déallocation de la mémoire du tableau de pixels et mise à jour des champs dimx et dimy à 0.
*
*
* @return Renvoi l'instance de l'Image vide avec les dimensions à 0.
*/
/**
* \fn Pixel & Image::getPix(const unsigned int &x, const unsigned int &y) const;
* @brief Récupère le pixel original de coordonnées (x,y) en vérifiant sa validité.
*
* @return Renvoi le Pixel de coordonnée (x,y).
*/
/**
* \fn Pixel Image::getPix2(const unsigned int &x, const unsigned int &y) const
* @brief Récupère la copie du pixel de coordonnées (x,y) en vérifiant sa validité.
*
* @return Renvoi une copie du Pixel de coordonnée (x,y).
*/
/**
* \fn void Image::setPix(int x,int y,Pixel p)
* @brief Modifie le pixel de coordonnées (x,y).
*
*/
/**
* \fn void Image::dessinerRectangle(unsigned Xmin, unsigned int Ymin, unsigned int Xmax, unsigned int Ymax, const Pixel & couleur)
* @brief Dessine un rectangle plein de la couleur dans l'image (en utilisant setPix, indices en paramètre compris).
* @param p Pixel contenant la couleur qui sera remplie dans le rectangle.
* @param Xmin, Ymin, Xmax, Ymax Dimension du rectangle à remplir.
*/
/**
* \fn void Image::effacer (const Pixel & couleur)
* @brief Efface l'image en la remplissant de la couleur en paramètre (en appelant dessinerRectangle avec le bon rectangle).
*
*/
/**
* \fn void Image::testRegression()
* @brief Effectue une série de tests vérifiant que toutes les fonctions fonctionnent et font bien ce qu’elles sont censées faire, ainsi que les données membres de l'objet sont conformes.
*
*/
/**
* \fn void Image::sauver(const std::string &filename)const
* @brief Permet de sauver les pixels de l'image dans un fichier.
* @param filename Chemin vers le fichier dans lequel l'image sera sauver.
*/
/**
* \fn void Image::ouvrir(const std::string &filename)
* @brief Permet de récupérer les pixels de l'image dans un fichier.
* @param filename Chemin vers le fichier depuis lequel l'image sera récuperer.
*/
/**
* \fn void Image::afficherConsole()
* @brief Permet d'afficher les valeurs des pixels de l'image sur la console
*
*/