wikiHow è una "wiki"; questo significa che molti dei nostri articoli sono il risultato della collaborazione di più autori. Per creare questo articolo, 13 persone, alcune in forma anonima, hanno collaborato apportando nel tempo delle modifiche per migliorarlo.
Questo articolo è stato visualizzato 19 343 volte
Cambiare il colore del testo o delle forme nel tuo programma C può farli risaltare di più all'occhio dell'utente che esegue l'applicazione. Si tratta di un'operazione piuttosto semplice e le funzioni necessarie sono incluse nelle librerie standard del linguaggio. Puoi modificare il colore di tutto quello che fai comparire sullo schermo.
Passaggi
Cambiare il Colore del Testo di Output
-
1Includi la libreria standard Input/Output. Questa libreria molto usata permette di modificare il colore del testo di output. Aggiungi il codice seguente all'inizio del programma:[1]
#include<stdio.h>
-
2Includi la libreria Console di Input/Output. Questo rende più facile acquisire l'input da tastiera da parte dell'utente. Aggiungila sotto quella stdio.h:
#include<stdio.h> #include<conio.h>
-
3Usa la funzione textcolor per definire il colore del testo. In questo modo puoi variare il colore del testo di Output. I colori devono essere espressi in maiuscole, oppure con un codice numerico:
#include<stdio.h> #include<conio.h> main() { textcolor(RED); // Puoi scrivere "4" invece di "RED", ma il codice risulterebbe meno leggibile }
Colore Valore Numerico BLACK 0 BLUE 1 GREEN 2 CYAN 3 RED 4 MAGENTA 5 BROWN 6 LIGHTGRAY 7 DARKGRAY 8 LIGHTBLUE 9 LIGHTGREEN 10 LIGHTCYAN 11 LIGHTRED 12 LIGHTMAGENTA 13 YELLOW 14 WHITE 15 - Sono disponibili altri colori, in base ai driver grafici installati e alla modalità di visualizzazione attuale. Ricorda che devono essere scritti sempre con sole maiuscole.[2]
-
4Aggiungi il testo di Output e completa il programma. Includi una funzione cprintf per visualizzare un messaggio del colore selezionato. Usa la funzione getch alla fine del programma per chiuderlo dopo la pressione di un tasto da parte dell'utente.
#include<stdio.h> #include<conio.h> main() { textcolor(RED); // Puoi scrivere "4" invece di "RED", ma il codice risulterebbe meno leggibile cprintf("Ciao Mondo!"); getch(); return 0; }
Pubblicità
Cambiare il Colore dei Disegni
-
1Includi la libreria graphics. Questa libreria di C consente di disegnare oggetti e di modificarne il colore. Accedi a essa includendola all'inizio del programma:
#include<graphics.h>
-
2Includi la libreria Console di Input/Output. Puoi usarla per acquisire facilmente gli input dell'utente. Aggiungila sotto quella graphics.h:
#include<graphics.h> #include<conio.h>
-
3Inizializza le variabili dei driver e della modalità grafica. Devi farlo prima di cominciare a disegnare gli oggetti, in maniera che il programma abbia accesso ai driver grafici del sistema. In questo modo creerai un'area sullo schermo dove poter disegnare gli oggetti.
#include<graphics.h> #include<conio.h> main() { int gd = DETECT, gm; initgraph(&gd, &gm, "C:\\TC\\BGI"); // Cambia questo percorso in quello del tuo compiler }
-
4Imposta il colore dell'oggetto che vuoi disegnare. Prima di scrivere il codice dell'oggetto, utilizza la funzione setcolor per definire il suo colore:[3]
#include<graphics.h> #include<conio.h> main() { int gd = DETECT, gm; initgraph(&gd, &gm, "C:\\TC\\BGI"); setcolor(BLUE); // Puoi scrivere "1" invece di "BLUE" per ottenere lo stesso colore, ma il codice sarà meno leggibile }
-
5Disegna l'oggetto che desideri. In questo esempio, tracceremo un rettangolo usando la funzione rectangle. Puoi utilizzare uno qualunque degli strumenti di disegno di graphics.h per creare figure del colore scelto.
#include<graphics.h> #include<conio.h> main() { int gd = DETECT, gm; initgraph(&gd, &gm, "C:\\TC\\BGI"); setcolor(BLUE); rectangle(50,50,100,100); // Questi numeri indicano la posizione degli angoli in alto a sinistra e in basso a destra della figura }
-
6Concludi il programma e provalo. Aggiungi il comando getch e disattiva l'area grafica alla chiusura. Compilalo e prova a eseguirlo.
#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; }
Pubblicità
Esempi
// Ciao Mondo Colorato.cpp : file progetto principale.
#include <stdafx.h> // Usato con MS Visual Studio Express. Cancella questa riga se stai utilizzando un programma diverso
#include <conio.h> // Solo per la routine WaitKey()
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); // Per l'uso di SetConsoleTextAttribute()
void WaitKey();
int main()
{
int len = 0,x, y=240; // 240 = sfondo bianco, testo nero
string text = "Ciao Mondo. Oggi mi sento bellissimo!'';
len = text.length();
cout << endl << endl << endl << ''\t\t''; // inizia tre righe in basso, due tabulazioni a destra
for ( x=0;x<len;x++)
{
SetConsoleTextAttribute(console, y); // imposta il colore del comando di stampa seguente
cout << text[x];
y++; // aggiungi 1 a y, in modo da ottenere un colore diverso
if ( y >254) // Esistono 255 colori. Con 255 il testo sarebbe scritto in bianco su sfondo bianco, quindi sarebbe invisibile, perciò lo ignoriamo
y=240; // se y > 254, riporta i caratteri neri su sfondo bianco
Sleep(250); // Pausa tra le lettere
}
SetConsoleTextAttribute(console, 15); // imposta il colore su sfondo nero, caratteri bianchi
WaitKey(); // Programma terminato, attende la pressione di un tasto per chiudersi
}
void WaitKey()
{
cout << endl << endl << endl << ''\t\t\t Premi un tasto qualunque";
while (_kbhit()) _getch(); // Svuota il buffer degli input
_getch(); // Attendi la pressione di un tasto
while (_kbhit()) _getch(); // Svuota il buffer degli input (alcuni tasti inviano due messaggi)
}
#include<graphics.h>
#include<conio.h>
main()
{
int gd = DETECT, gm, drawing_color;
char a[100];
initgraph(&gd,&gm,''C:\\TC\\BGI'');
colore_disegno = getcolor();
sprintf(a,''Colore di disegno attuale = %d'', colore_disegno);
outtextxy( 10, 10, a );
getch();
closegraph();
return 0;
}