1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
w2 = image->_w >> 1;//Division par deux de la largeur(décalage de 1 sur la droite)
h2 = image->_h >> 1;//Division par deux de la hauteur(décalage de 1 sur la droite)
axe_h_ellipse = (8*h2/10); //Correspond à A : on prend 8 dixieme de la moitié de la hauteur de l'image
axe_w_ellipse = (8*w2/10); //Correspond à B : on prend 8 dixieme de la moitié de la largeur de l'image
centre_x = w2 ; //X0
centre_y = h2 ; //Y0
for(int l = 0; l < image->_h; l++)
{
for(int c = 0; c < image->_w; c++)
{
ind = c + l * image->_w; //Permet de parcourir le tableau des pixels de l'image
recentre_x = (int)((c - centre_x)/ axe_w_ellipse); // (X - X0)/A
recentre_y = (int)((l - centre_y)/ axe_h_ellipse); // (Y - Y0)/B
distance_au_centre = recentre_x * recentre_x + recentre_y * recentre_y; //((X - X0)/A)² + ((Y - Y0)/B)²
// POUR FAIRE UNE ELLIPSE NOIRE SUR L'IMAGE
if( distance_au_centre <= 1) //SI ((X - X0)/A)² + ((Y - Y0)/B)² <=1 alors on est dans l'ellipse
image->_norme[ind] = 0.0; //norme contient les pixels de l'image
}
} |