Як змінити колір в програмі на C (з ілюстраціями)

Зміна кольору тексту або фігур в програмі на C дозволить виділити їх при запуску Програми Користувачем. Процес зміни кольору тексту і фігур є досить простим, так як всі необхідні функції містяться в стандартних бібліотеках. Ви можете змінити колір всього, що виводиться на екран.

Частина1 З 2:
Зміна кольору виведеного тексту

  1. Підключіть стандартну бібліотеку вводу-виводу. ця бібліотека дозволяє змінити колір виведеного на екран тексту. Додайте наступний рядок у заголовок своєї програми:[1]
    #include&#lt;stdio.h&#gt;
    
  2. Підключіть бібліотеку консольного вводу-виводу.це дозволить програмі вважати введення з клавіатури Користувачем. Додайте цю бібліотеку під бібліотекою stdio.h:
    #include&#lt;stdio.h&#gt;
    #include&#lt;conio.h&#gt;
    
  3. Використовуйте функціюtextcolor, щоб задати колір тексту.за допомогою цієї функції ви можете урізноманітнити колір виведеного тексту. Кольори повинні бути написані великими літерами або представлені в цифровому вигляді:
    #include&#lt;stdio.h&#gt;
    #include&#lt;conio.h&#gt;
     
    Main()
    {
       Textcolor(RED); 
    }
    


    Колір Числове значення
    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
    • Але на цьому список кольорів не закінчується. Їх доступність залежить від встановленого графічного драйвера і використовуваного колірного режиму. Кольори повинні бути написані великими літерами.[2]
  4. Додайте виведений текст і закінчите програму. використовуйте функціюcprintf для відображення тексту в обраному кольорі. Додайте функцію getch в кінець програми, щоб закрити її після натискання користувачем будь-якої клавіші.
    #include&#lt;stdio.h&#gt;
    #include&#lt;conio.h&#gt;
     
    Main()
    {
       Textcolor(RED); 
       Cprintf("Hello, World!");
     
       Getch();
       Return 0;
    }
    

Частина2 З 2:
Зміна кольору фігури

  1. Підключіть графічну бібліотеку.графічна бібліотека C дозволяє малювати фігури і змінювати їх колір. Щоб отримати доступ до графічної бібліотеки, підключіть її в заголовку програми:
    #include&#lt;graphics.h&#gt;
    
  2. Підключіть бібліотеку консольного вводу-виводу, щоб програма могла вважати введення з клавіатури Користувачем. додайте цю бібліотеку під бібліотекою graphics.h:
    #include&#lt;graphics.h&#gt;
    #include&#lt;conio.h&#gt;
    
  3. Ініціалізуйте змінні для графічного драйвера і режиму.це необхідно зробити до того, як ви почнете малювати фігури, щоб програма мала доступ до графічного драйверу системи. Таким чином, ви виділите область на екрані, де буде намальована фігура.
    #include&#lt;graphics.h&#gt;
    #include&#lt;conio.h&#gt;
    
    Main()
    {
       Int Gd = DETECT, Gm;
       Initgraph(&#amp;Gd, &#amp;Gm, "c:\\TC\\BGI"); // скопіюйте сюди шлях до компілятора
    }
    
  4. Встановіть колір мальованої фігури. перш ніж приступити до створення фігури, використовуйте функцію setcolor, щоб визначити колір майбутнього об'єкта:[3]
    #include&#lt;graphics.h&#gt;
    #include&#lt;conio.h&#gt;
    
    Main()
    {
       Int Gd = DETECT, Gm;
       Initgraph(&#amp;Gd, &#amp;Gm, "C:\\TC\\BGI");
       
       Setcolor(BLUE); 
    }
    
  5. Намалюйте бажану фігуру.як приклад ми намалюємо прямокутник, використовуючи функцію rectangle . Ви можете використовувати будь-яку функцію для малювання з бібліотеки graphics.h, щоб намалювати що завгодно в обраному кольорі.
    #include&#lt;graphics.h&#gt;
    #include&#lt;conio.h&#gt;
    
    Main()
    {
       Int Gd = DETECT, Gm;
       Initgraph(&#amp;Gd, &#amp;Gm, "C:\\TC\\BGI");
       
       Setcolor(BLUE); 
       Rectangle(50,50,100,100); // ці цифри вказують на розташування лівого верхнього і правого нижнього кутів
    }
    
  6. Завершіть програму і протестуйте її. додайте команду getch і вимкніть графічну область в кінці програми. Скомпілюйте код і запустіть готову програму.
    #include&#lt;graphics.h&#gt;
    #include&#lt;conio.h&#gt;
    
    Main()
    {
       Int Gd = DETECT, Gm;
       Initgraph(&#amp;Gd, &#amp;Gm, "C:\\TC\\BGI");
       
       Setcolor(BLUE); 
       Rectangle(50,50,100,100);
       
       Getch();
       Closegraph();
       Return 0;
    }
    

Приклади

// висновок кольорового Hello World.cpp: основний файл проекту.
#include &#lt;stdafx.H&#gt; // підтримується MS Visual Studio Express. Приберіть рядок, якщо працюєте в іншій програмі
#include &#lt;conio.H&#gt; // тільки для макросу WaitKey()
#include &#lt;iostream&#gt;
#include &#lt;string&#gt;
#include &#lt;windows.h&#gt;

Using Namespace Std;

HANDLE Console = GetStdHandle(STD_OUTPUT_HANDLE); // для використання setconsoletextattribute()

Void WaitKey();

Int Main()
{

   Int Len = 0,X, Y=240; // 240 = білий фон, чорні символи

   String Text = ''Hello World. I Feel Pretty Today!'';
   Len = Text.Length();
   Cout &#lt;&#lt; Endl &#lt;&#lt; Endl &#lt;&#lt; Endl &#lt;&#lt; "\T\T"; // перенесення на 3 рядки вниз і дві табуляції вправо
   For ( X=0;X&#lt;Len;X++)
   {
      SetConsoleTextAttribute(Console, Y); // встановити колір для наступного висновку
      Cout &#lt;&#lt; Text[X];
      Y++; // додати 1 до значення y, щоб отримати новий колір
      If ( Y &#gt;254) // всього існує 255 кольорів. 255-це білий на білому. Ви нічого не побачите. Тому ми його пропускаємо
      Y=240; // якщо у &#gt; 254, повернути кольори назад до білого фону, чорним символами
      Sleep(250); / / Пауза межу буквами
   }

   SetConsoleTextAttribute(Console, 15); // встановити колір на чорний фон, білі символи
   WaitKey(); / / кінець програми, очікування натискання клавіші, щоб закрити програму


Void WaitKey()
{
   Cout  &#lt;&#lt; Endl &#lt;&#lt; Endl &#lt;&#lt; Endl &#lt;&#lt; ''\T\T\TPress Any Key'';
   While (_kbhit()) _getch(); // спустошити буфер введення
   _getch(); / / очікування натискання клавіші
   While (_kbhit()) _getch(); // // спустошити буфер введення (деякі клавіші відправляють два повідомлення)
}


#include&#lt;graphics.h&#gt;
#include&#lt;conio.h&#gt;

Main()
{
   Int Gd = DETECT, Gm, Drawing_color;
   Char A[100];

   Initgraph(&#amp;Gd,&#amp;Gm,''C:\\TC\\BGI'');

   Drawing_color = Getcolor();

   Sprintf(A,''Current Drawing Color = %D'', Drawing_color);
   Outtextxy( 10, 10, A );

   Getch();
   Closegraph();
   Return 0;
}

Ще почитати: