INFO702 - TPs
Loading...
Searching...
No Matches
TP2
Section-2
Image2D.hpp
1
// file Image2D.hpp
2
#ifndef _IMAGE2D_HPP_
3
#define _IMAGE2D_HPP_
4
#include <vector>
5
6
/// Classe générique pour représenter des images 2D.
7
template
<
typename
TValue>
8
class
Image2D
{
9
public
:
10
typedef
Image2D<TValue>
Self
;
// le type de *this
11
typedef
TValue Value;
// le type pour la valeur des pixels
12
typedef
std::vector<Value> Container;
// le type pour stocker les valeurs des pixels de l'image.
13
14
// Constructeur par défaut
15
Image2D
();
16
// Constructeur avec taille w x h. Remplit tout avec la valeur g
17
// (par défaut celle donnée par le constructeur par défaut).
18
Image2D
(
int
w
,
int
h
, Value g = Value() );
19
20
// Remplit l'image avec la valeur \a g.
21
void
fill( Value g );
22
23
/// @return la largeur de l'image.
24
int
w
()
const
;
25
/// @return la hauteur de l'image.
26
int
h
()
const
;
27
28
/// Accesseur read-only à la valeur d'un pixel.
29
/// @return la valeur du pixel(i,j)
30
Value
at
(
int
i,
int
j )
const
;
31
32
/// Accesseur read-write à la valeur d'un pixel.
33
/// @return une référence à la valeur du pixel(i,j)
34
Value&
at
(
int
i,
int
j );
35
36
private
:
37
Container m_data;
// mes données; évitera de faire les allocations dynamiques
38
int
m_width;
// ma largeur
39
int
m_height;
// ma hauteur
40
41
/// @return l'index du pixel (x,y) dans le tableau \red m_data.
42
int
index(
int
i,
int
j )
const
;
43
};
44
#endif
// _IMAGE2D_HPP_
Image2D
Classe générique pour représenter des images 2D.
Definition
Image2D.hpp:8
Image2D::h
int h() const
Image2D::at
Value & at(int i, int j)
Image2D::at
Value at(int i, int j) const
Image2D::w
int w() const
Generated on Sun Oct 22 2023 16:22:34 for INFO702 - TPs by
1.9.8