[language C] Comment faire pour afficher de la couleur ?

Voir le sujet précédent Voir le sujet suivant Aller en bas

[language C] Comment faire pour afficher de la couleur ?

Message  dahico2002 le Ven 05 Oct 2007, 15:21

je voudrais savoir comment fait on pour afficher de la couleur à l'écran avec l'instruction "printf" ?

merci à vous Smile

dahico2002

Nombre de messages : 62
Age : 32
Prénom : Malick
Date d'inscription : 13/12/2006

Revenir en haut Aller en bas

Re: [language C] Comment faire pour afficher de la couleur ?

Message  Invité le Ven 05 Oct 2007, 15:43

Code:
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
int main()
{
  int i;
  HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
  for(i=0; i<256; ++i)
  {
      SetConsoleTextAttribute(hConsole, i);
      printf("%d\n", i);
  }
  SetConsoleTextAttribute(hConsole, 15);
  system("pause");
  return EXIT_SUCCESS;
}

Voici le code qui affiche le numéro du teint dans les 256 couleurs différentes (16 couleurs et 16 fonds).

Bien à toi.

Herbiti

edit: le code est corrigé Smile merci cluigi Smile merci monsieur nvs!


Dernière édition par le Sam 06 Oct 2007, 19:39, édité 3 fois

Invité
Invité


Revenir en haut Aller en bas

Re: [language C] Comment faire pour afficher de la couleur ?

Message  cluigi le Ven 05 Oct 2007, 22:35

salut,

- oublie pas les parenthèses (int main())
- #include <stdio.h> pour printf();
- avant le system("pause"); faire :
SetConsoleTextAttribute(hConsole, 15);

pour remettre la console dans l'état d'origine (fond noir, police blanche)

a+ Wink

cluigi

Nombre de messages : 710
Age : 30
Prénom : Luigi
Statut : Ancienne star
Localisation : Bruxelles
Date d'inscription : 21/12/2006

http://stages2008.cluigi.be

Revenir en haut Aller en bas

Re: [language C] Comment faire pour afficher de la couleur ?

Message  pbt le Sam 06 Oct 2007, 01:37

A ben perso j'aurais plutôt écrit ce qui suit ... mais ça ne fonctionnera qu'avec des terminaux supportant la couleur.
Code:

 * couleur.c
 *
 * Description : Illustration de l'utiliation des séquences
 *    d'échappement pour colorier le texte dans une
 *    console.
 * Remarque    : Ce principe fonctionne avec un programme
 *    java.
 * Auteur  : PbT
 * Sur bas d'un script csh trouvé au hasard du net
 * Since    : 19/2/04
 */

int main () {
  const char ESC [] = "\033[" ;
  int foreground;      // couleur avant plan
  int background;      // couleur arrière plan

  for ( foreground = 30 ; foreground <= 37 ; foreground ++ )
    for (background = 40 ; background <= 47 ; background ++ ) {
      printf("\n%d;%dm",foreground,background);
      printf("  %s%d;%dm Normal %s0m",ESC,foreground,background,ESC);
      printf("  %s%d;%d;1m Bold %s0m",ESC,foreground,background,ESC);
      printf("  %s%d;%d;%dm Underline %s0m",ESC,foreground,background,21,ESC);
      printf("  %s%d;%d;%d;1m Bold/Underline %s0m",ESC,foreground,background,21,ESC);
    }

  /* Réécrire proprement */
  printf("%s0;0m\n",ESC);
  exit(0);
}


Dernière édition par le Dim 07 Oct 2007, 22:18, édité 1 fois

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [language C] Comment faire pour afficher de la couleur ?

Message  nvs le Sam 06 Oct 2007, 19:03

cluigi a écrit:salut,

- oublie pas [...]
ainsi qu'un
Code:
return EXIT_SUCCESS
final, et donc un
Code:
#include <stdlib.h>
en tête de source Smile

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [language C] Comment faire pour afficher de la couleur ?

Message  mvh le Sam 06 Oct 2007, 22:54

nvs a écrit:
cluigi a écrit:salut,

- oublie pas [...]
ainsi qu'un
Code:
return EXIT_SUCCESS
final, et donc un
Code:
#include <stdlib.h>
en tête de source Smile
réponse en PM

_________________

La fête c'est nul sans Kidibul !
... (vieux proverbe local)



mvh

Nombre de messages : 5973
Age : 104
Prénom : Marcel VANHAELEN
Statut : (fin de bail)
Win 3.1 à reprendre
Localisation : Koekeliek de Baselberg
Date d'inscription : 06/12/2006

Revenir en haut Aller en bas

Re: [language C] Comment faire pour afficher de la couleur ?

Message  Contenu sponsorisé Aujourd'hui à 10:48


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum