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

  1. 1
    Incluez la bibliothèque standard d'entrées et sorties. 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. 2
    Incluez la bibliothèque d'entrées et sorties en console. 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. 3
    Définissez la couleur du texte à afficher avec la fonction textcolor(). 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. 4
    Ajoutez le texte à afficher et terminez le code source. 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

  1. 1
    Incluez la bibliothèque standard des fonctions graphiques. 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. 2
    Incluez la bibliothèque d'entrées et sorties en console. 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. 3
    Initialisez les variables définissant les modes et pilotes graphiques. 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. 4
    Définissez la couleur de l'objet à dessiner. 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. 5
    Codez le dessin de l'objet de votre choix. 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. 6
    Terminez votre programme et testez-le. 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

wikiHow est un wiki, ce qui veut dire que de nombreux articles sont rédigés par plusieurs auteurs(es). Pour créer cet article, 13 personnes, certaines anonymes, ont participé à son édition et à son amélioration au fil du temps. Cet article a été consulté 14 403 fois.
Catégories: Informatique
Publicité