55 lines
1.2 KiB
C++
55 lines
1.2 KiB
C++
|
int Image::Image(int dimensionX, int dimensionY, int maxComposante, int typeComposantes) { // Crée l'objet Image
|
||
|
|
||
|
}
|
||
|
// Getters
|
||
|
int Image::g_dimensionX() {
|
||
|
return m_dimensionX;
|
||
|
}
|
||
|
int Image::g_dimensionY() {
|
||
|
return m_dimensionY;
|
||
|
|
||
|
}
|
||
|
int Image::g_typeComposante() {
|
||
|
return m_typeComposante;
|
||
|
}
|
||
|
int Image::g_maxComposante() {
|
||
|
return m_typeComposante;
|
||
|
|
||
|
}
|
||
|
int g_point(int x, int y, Pixel &pixel) {
|
||
|
if (en_Limites(x, y)) {
|
||
|
pixel = m_tab[x][y];
|
||
|
return 0;
|
||
|
} else {
|
||
|
return 1;
|
||
|
}
|
||
|
}
|
||
|
// Setters
|
||
|
|
||
|
int Image::s_point(int x, int y, Pixel pixel) {
|
||
|
if (en_Limites(x, y) && pixel.typeComposantes == Image.g_typeComposante && pixel.maxComposante == Image.g_maxComposante && enLimitesComposantes(pixel)) {
|
||
|
m_tab[x][y] = pixel;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
bool Image::enLimitesComposantes(Pixel pixel) {
|
||
|
switch (pixel.typeComposantes) {
|
||
|
case 0:
|
||
|
return true;
|
||
|
break;
|
||
|
case 1:
|
||
|
return pixel.m <= pixel.maxComposante;
|
||
|
break;
|
||
|
case 2:
|
||
|
return (pixel.r <= pixel.maxComposante && pixel.v <= pixel.maxComposante && pixel.b <= pixel.maxComposante);
|
||
|
break;
|
||
|
default:
|
||
|
return false;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
bool Image::enLimites(int x, int y) {
|
||
|
return (x >= 0 && x < g_dimensionX && y >= 0 && y < g_dimensionY);
|
||
|
}
|