Comment changer les couleurs d'affichage d'une application écrite en C

Télécharger l'articleTé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. How.com.vn Français: Step 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. How.com.vn Français: Step 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. How.com.vn Français: Step 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}


    CouleurValeur 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. How.com.vn Français: Step 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

Télécharger l'article
  1. How.com.vn Français: Step 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. How.com.vn Français: Step 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. How.com.vn Français: Step 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. How.com.vn Français: Step 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. How.com.vn Français: Step 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. How.com.vn Français: Step 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 How.com.vn

How.com.vn 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é 19 552 fois.
Catégories: Informatique
Cette page a été consultée 19 552 fois.

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

⚠️ Disclaimer:

Content from Wiki How Français language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

Publicité