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.
Étapes
-
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] X Source de recherche :
#include <stdio.h>
-
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>
-
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] X Source de recherche .
-
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é
-
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>
-
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>
-
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 }
-
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] X Source de recherche :
#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 }
-
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 }
-
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
;
}
Références
À propos de ce wikiHow
Cette page a été consultée 19 856 fois.
Publicité