Couleur en c++

yan -  
 Genroa -
Bonjour,

je voudrais savoir comment faire pour integrer des couleurs dans mon programme c++, lorsque mes résultats s'affiche sous ms-dos.
pourriez vous me donner la commande?

merci,

18 réponses

  1. yan
     
    voila c'est pour faire apparaitre le menu en couleur!!!! mais c'est du c++.l'erreur : il me dit que textcolor n'est pas défini alor ke j'ai intégré la librairie conio.h

    #include "CImg.h"
    #include<math.h>
    #include<stdio.h>
    #include<conio.h>

    void main()
    {

    printf("PLAN DE MON PROGRAMME\n\n\n\n");
    printf("I. PROGRAMMER LA CONVOLUTION\n");
    printf("\n- CONVOLUTION\n\n");
    printf("\n\n -LA CONVOLUTION AVEC UN MASK ALÉATOIRE");
    printf("\n\n -LA CONVOLUTION AVEC UN MASK QUI PERMET AUCUN CHANGEMENT");
    printf("\n\n -CONVOLUTION AVEC MASK SOBELX");
    printf("\n\n -CONVOLUTION AVEC MASK SOBELY");
    printf("\n- CORRELATION\n");
    printf("\n\n -CORRELATION AVEC MASK ALEATOIRE");
    printf("\n\n -CORRELATION AVEC LE MASK DE L'OEIL");
    printf("\n\n -CORRELATION AVEC LE MASK DE L'OEIL2");
    printf("\n\n -CORRELATION AVEC LE MASK DE UN OEIL GRAND");
    printf("\n\n -CORRELATION PONDEREE AVEC LE MASK DE UN OEIL ");

    printf("\nAppuyez sur entree pour continuer.......\n");
    getch();

    printf("\n\nII. APPLICATION DES FILTRES MOYENNEURS\n");
    printf("\n\n -MASK MOYENNEUR 1/16");
    printf("\n\n -MASK GAUSS 5*5 ");
    printf("\n\n -MASK SEPY ");
    printf("\n\n -MASK SEPX ");

    printf("\nAppuyez sur entree pour continuer.......\n");
    getch();
    }
    3
  2. Bob
     
    N'as-tu pas remarqué qu'il existait une section pour la programmation?
    1
  3. Bob
     
    La question est:
    Es-tu certain d'avoir l'en-tête fourni avec ton compilo?
    1
  4. Ludwig_
     
    'lut

    Avec visuel c++6.0, il m'est imposible d'utiliser de la couleur.
    comme precedement, textcolor est declaré comme indefini

    ou peut-on trouver un site qui explique les librairies du c/c++?
    quand j' edite conio.h, les fonctions textcolor et backgroundcolor ne sont pas definies. C'est normal?
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. franc
     
    SALUT

    tu peux trouver dans laide de C++ comment utiliser la palette de couleurs
    mais voici comment ca se passe avant lexpression que tu veux mettre en couleur tu ecris le nom de la couleur type :

    le reset a la fin permet d'arreter la couleur a l expression qu'on veut.

    tu dois savoir aussi qze la palette de couleur dans C++ est limitée. (tu peux utilise nemamoins : blue , green, red ).

    blue();

    printf("jai enfin resussi : waouuuu");

    reset();

    jespère ke ca pourra taider , ciao
    1
    1. henri
       
      Du grand n'importe quoi !!
      Hallucinant de sotir des aneries pareilles!
      0
    2. Genroa
       
      N'importe quoi ce type...
      0
  7. Bob
     
    bref pour mettre du texte en couleur tu peux essayer ça:

    #include <conio.h>

    ...
    int x;
    x = 15;
    textcolor(x);
    ...

    /* L'en-tête <conio.h> ne fait pas partie du standard C mais est spécifique à Borland. Il n'existe pas de fonction standard pour les couleurs. */
    0
  8. yan
     
    j'ai deja essayé mais ca marche pas en c++
    0
  9. Bob
     
    C'est quoi l'erreur de compilation? Ou mieux jette ton code pour que j'y regarde un instant.
    0
  10. Bob
     
    Visual Studio .NET m'enfin! Recherche si le fichier "conio.h" existe dans ton dossier.
    0
  11. yan
     
    il existe mais ca ne marche pas tout de même!! jsui découté
    0
  12. Bob
     
    Ouais ben j'ai essayé sur Dev C++ c'est pas mieux mais en fait c'est mal foutu. Je m'explique normalement (apparement c'est une convention) on déclare les prototypes des fonctions, macros, classes dans l'en-tête (.h) puis les vraies fonctions dans le code source (.c) mais la j'ai essayer l'en-tête alors le compilo ne reconnait pas la fonction "textcolor()" cependant avec le code source "conio.c" ça fonctionne sans broncher. Bref il y a encore du boulot au niveau de la bibliothèque fournie avec les compilos mais bon "conio.h" n'est pas standard on va dire que c'est pas bien grave.
    0
  13. Bob
     
    Bah "#include <conio.c>" sinon tu déclares la fonction dans ton en-tête avec un truc du style "extern void textcolor(int color);".
    0
  14. Mo
     
    Quand on utilise la fonction textcolor de conio.h, si on utilise ensuite printf, on ne verra pas de changement de couleur. Il faut donc préferer la fonction cprintf qui s'utilise de la meme façon, ormi le fait qu'il faille effectuer les retours chariots "manuellement". Par exemple printf("Hello World\n"); equivaut à cprintf("Hello World\n\r");
    Enjoy ;) <Mo>
    0
  15. Julien
     
    Salut Yan !
    Utilise l'API Console de windows !

    #include <windows.h>
    #include <stdio.h>

    int main(/*int argc_p, char* argv_p[]*/)
    {
    HANDLE console;
    BOOL res;
    COORD size;
    SMALL_RECT bbox;
    int i;
    char buffer[1024];
    DWORD chars;

    console = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
    if (console == NULL)
    {
    printf("Error: function 'CreateConsoleScreenBuffer' failed.\n");
    }

    SetConsoleActiveScreenBuffer(console);

    res = SetConsoleTextAttribute(console, FOREGROUND_BLUE|FOREGROUND_GREEN|FOREGROUND_INTENSITY|BACKGROUND_GREEN);
    if (res == FALSE)
    {
    printf("Error: function 'SetConsoleTextAttribute' failed.\n");
    }

    size.X = 10;
    size.Y = 2;
    res = SetConsoleCursorPosition(console, size);
    if (res == FALSE)
    {
    printf("Error: function 'SetConsoleCursorPosition' failed.\n");
    }

    for (i=0; i<100; i++)
    {
    sprintf(buffer, "%d\n", i);
    res = WriteConsole(console, buffer, strlen(buffer), &chars, NULL);
    if (res == FALSE)
    {
    printf("Error: function 'WriteConsole' failed (%d).\n", chars);
    }
    Sleep(100);
    }

    CloseHandle(console);

    return 0;
    }

    bon dev !
    0
  16. jisisv Messages postés 3678 Statut Modérateur 936
     
    Pourquoi ne pas utiliser les séquences ANSI????

    The software said "Requires Windows98, Win2000, or better,
    So I installed Unix.
    0
  17. jskoul Messages postés 1 Statut Membre
     
    salut
    j'ai lu le tout et j'ai conclus qu'avec conio.c ça marche
    parceque j'ai le meme probleme sous dev C++
    mais meme avec #include <conio.c> ça ne veut pas marcher
    aidez nous
    j'ai besoin de ça pour un tp a rendre dans les plus brefs délais
    MERCI d'avence pour vos reponses
    0