human
Comment changer les couleurs d'affichage d'une application écrite en C ?
gpt
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.

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  :

#include<stdio.h>

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. 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.

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;
}

5. 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>

6. 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>

7. 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
}

8. 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  :

#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
}

9. 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
}

10. 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;
}