Télécharger l'article Télécharger l'article

Il est possible de mettre en évidence le texte ou les formes graphiques d'un programme s'affichant dans une console en modifiant leur couleur. C'est un processus assez simple à mettre en application dans un programme écrit en C, parce que les fonctions qui doivent être utilisées font partie des bibliothèques standards du langage. Vous pourrez modifier la couleur de tout ce qui peut être affiché dans une console, que ce soit du texte ou du graphisme.

Partie 1
Partie 1 sur 2:

Modifier la couleur de sortie d'un texte

Télécharger l'article
  1. L'entête de cette bibliothèque doit être placé au début d'un programme source en C. Les fonctions qu'elle définit vous permettront, entre autres, de modifier la couleur du texte affiché par votre programme. Ajoutez la ligne suivante au début de votre code source  [1]  :
     #include 
     <stdio.h> 
      
    
  2. Les fonctions décrites dans cette bibliothèque faciliteront la capture des actions de l'utilisateur au clavier. Ajoutez ce fichier d'entête au-dessous de la ligne contenant la librairie stdio.h  :
     #include 
     <stdio.h> 
      
     #include 
     <conio.h> 
      
    
  3. Vous pourrez utiliser cette fonction pour faire varier la couleur d'affichage du texte en sortie. Les couleurs doivent être exprimées dans votre code source en lettres majuscules et en anglais ou par une valeur numérique qui les représente :
     #include 
     <stdio.h> 
      
     #include 
     <conio.h> 
      
     main 
     () 
     { 
     textcolor 
     ( 
     RED 
     ); 
     // Vous pourriez remplacer "RED" par "4", mais c'est moins compréhensible 
     } 
    


    Couleur Valeur numérique
    BLACK (noir) 0
    BLUE (bleu) 1
    GREEN (vert) 2
    CYAN (cyan) 3
    RED (rouge) 4
    MAGENTA (magenta) 5
    BROWN (marron) 6
    LIGHTGRAY (gris clair) 7
    DARKGRAY (gris foncé) 8
    LIGHTBLUE (bleu clair) 9
    LIGHTGREEN (vert clair) 10
    LIGHTCYAN (cyan clair) 11
    LIGHTRED (rouge clair) 12
    LIGHTMAGENTA (magenta clair) 13
    YELLOW (jaune) 14
    WHITE (blanc) 15
    • D'autres couleurs que celles-ci existent, mais leur disponibilité dépend des pilotes graphiques installés et du mode utilisé. Les noms des couleurs doivent être exprimés en lettres majuscules et en anglais  [2] .
  4. Utilisez la fonction cprintf() pour afficher le texte dans la couleur de votre choix. Vous pourrez utiliser la fonction getch() à la fin de votre code source pour fermer le programme suite à une action de l'utilisateur sur le clavier.
     #include 
     <stdio.h> 
      
     #include 
     <conio.h> 
      
     main 
     () 
     { 
     textcolor 
     ( 
     RED 
     ); 
     // Vous pouvez remplacer "RED" par "4", mais c'est moins compréhensible 
     cprintf 
     ( 
     "Bonjour tout le monde!" 
     ); 
     getch 
     (); 
     return 
     0 
     ; 
     } 
    
    Publicité
Partie 2
Partie 2 sur 2:

Modifier la couleur d'un dessin

Télécharger l'article
  1. Elle contient des fonctions destinées à dessiner des objets et à paramétrer leurs couleurs. Vous devrez l'inclure au début de votre programme source :
     #include 
     <graphics.h> 
      
    
  2. Les fonctions décrites dans cette bibliothèque faciliteront la capture des actions de l'utilisateur au clavier. Ajoutez ce fichier d'entête au-dessous de la ligne contenant la librairie graphics.h  :
     #include 
     <graphics.h> 
      
     #include 
     <conio.h> 
      
    
  3. Vous devrez le faire avant d'utiliser les fonctions de dessin d'objets, afin que votre programme puisse accéder aux pilotes graphiques de votre PC. Vous pourrez délimiter une zone graphique dans laquelle votre programme dessinera des objets.
     #include 
     <graphics.h> 
      
     #include 
     <conio.h> 
      
     main 
     () 
     { 
     int 
     gd 
     = 
     DETECT 
     , 
     gm 
     ; 
     initgraph 
     ( 
     & 
     gd 
     , 
     & 
     gm 
     , 
     "C: 
     \\ 
     TC 
     \\ 
     BGI" 
     ); 
     // Remplacez cela par le chemin de votre compilateur 
     } 
    
  4. Vous devrez utiliser la fonction setcolor() , qui a pour rôle de définir la couleur de l'objet que vous voulez dessiner. Cette fonction doit être insérée dans votre fichier source avant le code servant à dessiner l'objet graphique  [3]  :
     #include 
     <graphics.h> 
      
     #include 
     <conio.h> 
      
     main 
     () 
     { 
     int 
     gd 
     = 
     DETECT 
     , 
     gm 
     ; 
     initgraph 
     ( 
     & 
     gd 
     , 
     & 
     gm 
     , 
     "C: 
     \\ 
     TC 
     \\ 
     BGI" 
     ); 
     setcolor 
     ( 
     BLUE 
     ); 
     // Vous pouvez remplacer "BLUE" par "1", mais c'est moins compréhensible 
     } 
    
  5. Nous prendrons ici un exemple de dessin d'un simple rectangle au moyen de la fonction rectangle() . Vous pouvez aussi dessiner n'importe quel objet décrit dans le fichier d'entête graphics.h avec la couleur définie auparavant.
     #include 
     <graphics.h> 
      
     #include 
     <conio.h> 
      
     main 
     () 
     { 
     int 
     gd 
     = 
     DETECT 
     , 
     gm 
     ; 
     initgraph 
     ( 
     & 
     gd 
     , 
     & 
     gm 
     , 
     "C: 
     \\ 
     TC 
     \\ 
     BGI" 
     ); 
     setcolor 
     ( 
     BLUE 
     ); 
     rectangle 
     ( 
     50 
     , 
     50 
     , 
     100 
     , 
     100 
     ); 
     // Ces nombres définissent le coin supérieur gauche et le coin inférieur droit du rectangle 
     } 
    
  6. Ajoutez la fonction getch() et fermez la zone graphique avant de sortir du programme. Cette fonction a pour rôle d'attendre la frappe d'un caractère au clavier, et dans ce cas précis, pour générer l'ordre de fermeture du programme. Enregistrez votre fichier source, compilez-le et essayez-le.
     #include 
     <graphics.h> 
      
     #include 
     <conio.h> 
      
     main 
     () 
     { 
     int 
     gd 
     = 
     DETECT 
     , 
     gm 
     ; 
     initgraph 
     ( 
     & 
     gd 
     , 
     & 
     gm 
     , 
     "C: 
     \\ 
     TC 
     \\ 
     BGI" 
     ); 
     setcolor 
     ( 
     BLUE 
     ); 
     rectangle 
     ( 
     50 
     , 
     50 
     , 
     100 
     , 
     100 
     ); 
     getch 
     (); 
     closegraph 
     (); 
     return 
     0 
     ; 
     } 
    
    Publicité

Exemples

 // Bonjour.c en couleurs : fichier source principal. 
 #include 
 <stdafx.h> // Effacez cette ligne si vous utilisez un autre compilateur que MS Visual Studio Express. 
  
 #include 
 <conio.h> // Librairie utilisée pour la fonction WaitKey() 
  
 #include 
 <iostream> 
  
 #include 
 <string> 
  
 #include 
 <windows.h> 
  
 using 
 namespace 
 std 
 ; 
 HANDLE 
 console 
 = 
 GetStdHandle 
 ( 
 STD_OUTPUT_HANDLE 
 ); 
 // C'est nécessaire pour SetConsoleTextAttribute() 
 void 
 WaitKey 
 (); 
 int 
 main 
 () 
 { 
 int 
 len 
 = 
 0 
 , 
 x 
 , 
 y 
 = 
 240 
 ; 
 // 240 = Noir sur fond blanc 
 string 
 text 
 = 
 '' 
 Bonjour 
 tout 
 le 
 monde 
 , 
 comment 
 allez 
 - 
 vous 
 ? 
 '' 
 ; 
 len 
 = 
 text 
 . 
 length 
 (); 
 cout 
 << 
 endl 
 << 
 endl 
 << 
 endl 
 << 
 ''\ 
 t 
 \ 
 t 
 '' 
 ; 
 // On se place à 3 lignes vers le bas et 2 tabulations vers la droite pour centrer 
 for 
 ( 
 x 
 = 
 0 
 ; 
 x 
 < 
 len 
 ; 
 x 
 ++ 
 ) 
 { 
 SetConsoleTextAttribute 
 ( 
 console 
 , 
 y 
 ); 
 // On prépare la couleur pour l'impression suivante 
 cout 
 << 
 text 
 [ 
 x 
 ]; 
 y 
 ++ 
 ; 
 // On ajoute 1 à y pour une nouvelle couleur 
 if 
 ( 
 y 
 > 
 254 
 ) 
 // Il y a 255 couleurs. La couleur 255 affiche blanc sur fond blanc. On saute l'étape, car invisible 
 y 
 = 
 240 
 ; 
 // si y > 254, on commence le cycle noir sur fond blanc 
 Sleep 
 ( 
 250 
 ); 
 // Une pause entre chaque lettre 
 } 
 SetConsoleTextAttribute 
 ( 
 console 
 , 
 15 
 ); 
 // Application de couleur blanche sur fond noir 
 WaitKey 
 (); 
 // Attente d'action sur une touche pour sortir du programme 
 } 
 void 
 WaitKey 
 () 
 { 
 cout 
 << 
 endl 
 << 
 endl 
 << 
 endl 
 << 
 ''\ 
 t 
 \ 
 t 
 \ 
 tPressez 
 une 
 touche 
 '' 
 ; 
 while 
 ( 
 _kbhit 
 ()) 
 _getch 
 (); 
 // On vide le buffer d'entrée 
 _getch 
 (); 
 // Attente de la frappe d'une touche 
 while 
 ( 
 _kbhit 
 ()) 
 _getch 
 (); 
 // On vide le buffer d'entrée (certaines touches envoient deux messages) 
 } 


 #include 
 <graphics.h> 
  
 #include 
 <conio.h> 
  
 main 
 () 
 { 
 int 
 gd 
 = 
 DETECT 
 , 
 gm 
 , 
 drawing_color 
 ; 
 char 
 a 
 [ 
 100 
 ]; 
 initgraph 
 ( 
 & 
 gd 
 , 
 & 
 gm 
 , 
 '' 
 C 
 : 
 \\ 
 TC 
 \\ 
 BGI 
 '' 
 ); 
 drawing_color 
 = 
 getcolor 
 (); 
 sprintf 
 ( 
 a 
 , 
 '' 
 Couleur 
 courante 
 de 
 dessin 
 = 
 % 
 d 
 '' 
 , 
 drawing_color 
 ); 
 outtextxy 
 ( 
 10 
 , 
 10 
 , 
 a 
 ); 
 getch 
 (); 
 closegraph 
 (); 
 return 
 0 
 ; 
 } 

À propos de ce wikiHow

Cette page a été consultée 19 856 fois.

Cet article vous a-t-il été utile ?

Publicité