representation d'une image.
More...
#include <image.h>
|
| Image (const int w, const int h, const Color &color=Black()) |
|
Color & | operator() (const int x, const int y) |
|
Color | operator() (const int x, const int y) const |
| renvoie la couleur d'un pixel de l'image (image non modifiable). More...
|
|
Color & | operator() (const unsigned offset) |
|
Color | operator() (const unsigned offset) const |
|
Color | sample (const float x, const float y) const |
| renvoie la couleur interpolee a la position (x, y) [0 .. width]x[0 .. height]. More...
|
|
Color | texture (const float x, const float y) const |
| renvoie la couleur interpolee aux coordonnees normalisees (x, y) [0 .. 1]x[0 .. 1]. More...
|
|
const void * | data () const |
| renvoie un pointeur sur le stockage des couleurs des pixels. More...
|
|
void * | data () |
| renvoie un pointeur sur le stockage des couleurs des pixels. More...
|
|
int | width () const |
| renvoie la largeur de l'image. More...
|
|
int | height () const |
| renvoie la hauteur de l'image. More...
|
|
unsigned | size () const |
| renvoie le nombre de pixels de l'image. More...
|
|
unsigned | offset (const int x, const int y) const |
| renvoie l'indice du pixel. More...
|
|
bool | operator== (const Image &im) const |
| comparaison avec la sentinelle. More...
|
|
|
std::vector< Color > | m_pixels |
|
int | m_width |
|
int | m_height |
|
representation d'une image.
Definition at line 20 of file image.h.
◆ operator()() [1/2]
Color& Image::operator() |
( |
const int |
x, |
|
|
const int |
y |
|
) |
| |
|
inline |
renvoie une reference sur la couleur d'un pixel de l'image. permet de modifier et/ou de connaitre la couleur d'un pixel :
image(10, 10)= make_red();
image(0, 0)= image(10, 10);
representation d'une image.
Definition at line 40 of file image.h.
42 return m_pixels[
offset(x, y)];
unsigned offset(const int x, const int y) const
renvoie l'indice du pixel.
◆ operator()() [2/2]
Color Image::operator() |
( |
const int |
x, |
|
|
const int |
y |
|
) |
| const |
|
inline |
renvoie la couleur d'un pixel de l'image (image non modifiable).
Definition at line 46 of file image.h.
48 return m_pixels[
offset(x, y)];
◆ sample()
Color Image::sample |
( |
const float |
x, |
|
|
const float |
y |
|
) |
| const |
|
inline |
renvoie la couleur interpolee a la position (x, y) [0 .. width]x[0 .. height].
Definition at line 64 of file image.h.
67 float u= x - std::floor(x);
68 float v= y - std::floor(y);
71 return (*
this)(ix, iy) * ((1 - u) * (1 - v))
72 + (*this)(ix+1, iy) * (u * (1 - v))
73 + (*
this)(ix, iy+1) * ((1 - u) * v)
74 + (*
this)(ix+1, iy+1) * (u * v);
◆ texture()
Color Image::texture |
( |
const float |
x, |
|
|
const float |
y |
|
) |
| const |
|
inline |
renvoie la couleur interpolee aux coordonnees normalisees (x, y) [0 .. 1]x[0 .. 1].
Definition at line 78 of file image.h.
80 return sample(x * m_width, y * m_height);
Color sample(const float x, const float y) const
renvoie la couleur interpolee a la position (x, y) [0 .. width]x[0 .. height].
◆ data() [1/2]
const void* Image::data |
( |
| ) |
const |
|
inline |
renvoie un pointeur sur le stockage des couleurs des pixels.
Definition at line 84 of file image.h.
86 assert(!m_pixels.empty());
87 return &m_pixels.front();
◆ data() [2/2]
renvoie un pointeur sur le stockage des couleurs des pixels.
Definition at line 91 of file image.h.
93 assert(!m_pixels.empty());
94 return &m_pixels.front();
◆ width()
int Image::width |
( |
| ) |
const |
|
inline |
renvoie la largeur de l'image.
Definition at line 98 of file image.h.
◆ height()
int Image::height |
( |
| ) |
const |
|
inline |
renvoie la hauteur de l'image.
Definition at line 100 of file image.h.
◆ size()
unsigned Image::size |
( |
| ) |
const |
|
inline |
renvoie le nombre de pixels de l'image.
Definition at line 102 of file image.h.
102 {
return m_width * m_height; }
◆ offset()
unsigned Image::offset |
( |
const int |
x, |
|
|
const int |
y |
|
) |
| const |
|
inline |
renvoie l'indice du pixel.
Definition at line 105 of file image.h.
109 if(px > m_width-1) px= m_width-1;
112 if(py > m_height-1) py= m_height-1;
114 assert(py * m_width + px <
int(m_pixels.size()));
115 return py * m_width + px;
◆ error()
static Image& Image::error |
( |
| ) |
|
|
inlinestatic |
sentinelle pour la gestion d'erreur lors du chargement d'un fichier. exemple :
return "erreur de chargement";
Image read_image(const char *filename)
Definition at line 126 of file image.h.
◆ operator==()
bool Image::operator== |
( |
const Image & |
im | ) |
const |
|
inline |
comparaison avec la sentinelle.
Definition at line 133 of file image.h.
136 return (
this == &im);
The documentation for this class was generated from the following file: