Couleur en c++

Fermé
yan - 24 oct. 2003 à 23:28
 Genroa - 14 juin 2012 à 16:03
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,
A voir également:

18 réponses

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
N'as-tu pas remarqué qu'il existait une section pour la programmation?
1
La question est:
Es-tu certain d'avoir l'en-tête fourni avec ton compilo?
1
'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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
Du grand n'importe quoi !!
Hallucinant de sotir des aneries pareilles!
0
N'importe quoi ce type...
0
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
j'ai deja essayé mais ca marche pas en c++
0
C'est quoi l'erreur de compilation? Ou mieux jette ton code pour que j'y regarde un instant.
0
j'utilise visual basic .net
0
Visual Studio .NET m'enfin! Recherche si le fichier "conio.h" existe dans ton dossier.
0
il existe mais ca ne marche pas tout de même!! jsui découté
0
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
kel est donc la solution?
0
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
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
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
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 947
10 déc. 2003 à 15:32
Pourquoi ne pas utiliser les séquences ANSI????

The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
0
jskoul Messages postés 1 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 31 mars 2008
31 mars 2008 à 12:47
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