Vous êtes sur la page 1sur 13

Fabrication dune image de 100x100 entirement orange : Fabrication dune image avec un dgrad horizontal qui couvre toutes

les couleurs satures du spectre (rouge jaune. vert .bleu. magenta) : Fabrication dune image avec un dgrad horizontal qui couvre toutes les couleurs satures du spectre (rouge jaune. vert .bleu. magenta) :

Chargement et affichage de limage depuis le disque dur : Correction de couleurs dune image de couleurs en ngative: Inversion de lmage VANNES : Image en noir et blanc :

Fabrication dune image de 100x100 entirement orange : Le code pour cette opration :

public static void ExecMenu2() { CImage.VideImage(2, 200, 200); for (int i = 0; i < 200; i++) for (int j = 0; j < 200; j++) { CImage.ChangeRougeImageXY(2, i, j, 255); CImage.ChangeBleuImageXY(2, i, j, 9); CImage.ChangeVertImageXY(2, i, j, 80); } CImage.ImageAAfficher(2); }

Le rsultat est :

On utilise la mthode CImage.ChangeRougeImageXY(int num, i, j,int v); de la composante rouge par exemple .

pour changer la valeur

On parcoure limage pixel par pixel et on change les valeurs de rouge bleu et vert. Donc avec cette mthode en change chaque pixel on variant les 3 couleurs rouge et bleu Pour lorange on trouve : Rouge = 255 Bleu= 128 Vert=0

Fabriquer une image de 200x200 qui contient des pixels de couleurs alatoire (Math.Random() retourne un nombre compris entre 0 et 1) : On cre une image vide et on laisse choisir des couleurs alatoires qui varient entre 0 et 255 pour les couleurs rouge bleu et vert, on utilise cette mthode Math.random() multiplier par 255 couleurs Rouge =255* Math.random() Bleu= 255* Math.random() Vert=255* Math.random()

On introduit alors le code suivant qui permet de raliser cette fonction : public static void ExecMenu3() { CImage.VideImage(3, 200, 200); for (int i = 0; i < 200; i++) for (int j = 0; j < 200; j++) { CImage.ChangeRougeImageXY(3, i, j, (int) (255*Math.random()) ); CImage.ChangeBleuImageXY(3, i, j, (int) (255*Math.random()) ); CImage.ChangeVertImageXY(3, i, j, (int) (255*Math.random()) ); } CImage.ImageAAfficher(3); }

Le rsultat est : une image de couleur alatoire

Fabrication dune image avec un dgrad horizontal qui couvre toutes les couleurs satures du spectre (rouge jaune. vert .bleu. magenta) :

On procde comme suite : public static void ExecMenu4() { CImage.VideImage(4, 200, 200); for (int i = 0; i < 200; i++) { for (int j = 0; j < 40; j++) { CImage.ChangeRougeImageXY(4, i, j,255); CImage.ChangeBleuImageXY(4, i, j,0); CImage.ChangeVertImageXY(4, i, j, 0 ); } for (int j = 40; j < 80; j++) { CImage.ChangeRougeImageXY(4, i, j, 255); CImage.ChangeBleuImageXY(4, i, j, 0 ); CImage.ChangeVertImageXY(4, i, j, 255 ); } for (int j = 80; j < 120; j++) { CImage.ChangeRougeImageXY(4, i, j,0); CImage.ChangeBleuImageXY(4, i, j,0); CImage.ChangeVertImageXY(4, i, j, 255 ); } for (int j = 120; j < 160; j++) { CImage.ChangeRougeImageXY(4, i, j,0); CImage.ChangeBleuImageXY(4, i, j,255); CImage.ChangeVertImageXY(4, i, j,0); } for (int j = 160; j < 200; j++) { CImage.ChangeRougeImageXY(4, i, j,255); CImage.ChangeBleuImageXY(4, i, j,128); CImage.ChangeVertImageXY(4, i, j,0); } } CImage.ImageAAfficher(4); }

On a la longueur de limage qui est 200, on la devise par 5 couleur et on aura 40 pixel pour chaque dgrad de couleur. Puis on utilise la mme mthode que la premire fois pour changer de couleur mais il faut savoir parcourir limage 40 pixel de suite chaque fois en utilisant les boucles.

Le rsultat est :

Chargement et affichage de limage depuis le disque dur :

public static void ExecMenu5() { //Lire l'image qui se trouve dans le disque dure CImage.ChargeImage(1,"test.jpg"); CImage.ImageAAfficher(1); }

Ce code sert a afficher limage charger du disque dur.

Correction de couleurs dune image de couleurs en ngative:

public static void ExecMenu6() { // Realisation d'une option qui permet d'afficher l'mage avec les bonnes couleurs int largeur, longeur, rouge, vert, bleu ; CImage.ChargeImage(6,"test.jpg"); largeur= CImage.DonneTailleXImage (6); longeur= CImage.DonneTailleYImage (6); for (int j = 0; j < 200; j++) for (int i = 0; i < 200; i++) { rouge = CImage.DonneRougeImageXY (6, i, j); bleu = CImage.DonneBleuImageXY (6, i, j); vert = CImage.DonneVertImageXY (6, i ,j); CImage.ChangeRougeImageXY(6, i, j, 255- rouge); CImage.ChangeBleuImageXY(6, i, j, 255 - bleu); CImage.ChangeVertImageXY(6, i, j, 255 - vert); } CImage.ImageAAfficher(6);

} On parcoure limage charger puis on rcupre les valeurs de couleurs rouge bleu et vert en suite les inverses. Pour avoir les bonnes et correctes couleurs on cherche la valeur oppos des valeurs de couleurs prsentes sur limage en ngative. Rouge =255- rouge Bleu=255- bleu Vert=255 vert Le rsultat est :

Inversion de lmage VANNES :

public static void ExecMenu7() { CImage.ChargeImage(7,"vannes.jpg"); int largeur,longeur,r, v, b ;

largeur= CImage.DonneTailleXImage (7); longeur= CImage.DonneTailleYImage (7); CImage.VideImage (2,largeur , longeur); for (int i=0 ; i < largeur ; i++) { for ( int j=0 ; j < longeur; j++ ) { r = CImage.DonneRougeImageXY (7, i, j); b = CImage.DonneBleuImageXY (7, i, j); v = CImage.DonneVertImageXY (7, i ,j); CImage.ChangeRougeImageXY(2, largeur-i , j, r); CImage.ChangeBleuImageXY(2, largeur-i , j , b); CImage.ChangeVertImageXY(2, largeur-i , j , v); } } CImage.ImageAAfficher(2); } Pour inverser cette image on procde comme suite : On parcoure limage et on rcupre les valeurs des composantes rouge bleu et vert on suite faire un mcanisme avec lequel en remplace chaque dbut de pixel avec celui de la fin et ainsi de suite en dcrmentant la largeur chaque fois puis cre une image vide et remplacer ces composantes dans la nouvelle image. Le rsultat est :

Fusion de 2 images :

public static void ExecMenu8() { int r,b,v,la,lo, r1,b1,b2, v1 ; CImage.ChargeImage(7,"carte_droite.gif"); CImage.ChargeImage(2,"carte_gauche.gif"); la= CImage.DonneTailleXImage (2); lo= CImage.DonneTailleYImage (2); for (int i=0 ; i < la; i++) { for ( int j=0 ; j < lo ; j++ ) { r = CImage.DonneRougeImageXY (2, i, j); b = CImage.DonneBleuImageXY (2, i, j); v = CImage.DonneVertImageXY (2, i ,j); r1 = CImage.DonneRougeImageXY (7, i, j); b1 = CImage.DonneBleuImageXY (7, i, j); v1 = CImage.DonneVertImageXY (7, i ,j); if ( (r==255) && (b==255) && (v==255) ) { CImage.ChangeRougeImageXY(2, i , j, r1); CImage.ChangeBleuImageXY(2, i , j , b1); CImage.ChangeVertImageXY(2, i , j , v1); } } } CImage.ImageAAfficher(2); } Mme mthode que celui de la prcdente mais dans ce cas on a besoin de dtecter le blanc pour remplacer les composantes donnes de limage gauche dans la mme image que celle de la droite une sorte de fusion (sans cre une nouvelle image vide ) Le rsultat est :

Image en noir et blanc :

public static void ExecMenu1() { // Realisation d'une option qui permet d'afficher l'mage avec les bonnes couleurs int largeur, longeur, rouge, vert, bleu ; CImage.ChargeImage(2,"im1.jpeg"); largeur= CImage.DonneTailleXImage (2); longeur= CImage.DonneTailleYImage (2); for (int j = 0; j < 200; j++) for (int i = 0; i < 200; i++)

{ rouge = CImage.DonneRougeImageXY (2, i, j); bleu = CImage.DonneBleuImageXY (2, i, j); vert = CImage.DonneVertImageXY (2, i ,j); CImage.ChangeRougeImageXY(2, i, j, 255); CImage.ChangeBleuImageXY(2, i, j, ((rouge+bleu+vert) / 3)); CImage.ChangeVertImageXY(2, i, j, ((rouge+bleu+vert) / 3)); } CImage.ImageAAfficher(2); }

Pour rendre une image en noir et blanc il suffit de mettre les 3 composantes rouge bleu et vert au mme niveau de gris.( la somme diviser par 3) Rouge= Rouge + Vert + Bleu/3 Bleu = Rouge + Vert + Bleu/3 Vert= Rouge + Vert + Bleu/3 Le rsultat est :