Как изменить цвет текста в консоли с
Перейти к содержимому

Как изменить цвет текста в консоли с

  • автор:

color

Изменяет цвет переднего плана и фона в окне командной строки текущего сеанса. При использовании без параметров цвет восстанавливает окно командной строки по умолчанию для переднего плана и фона.

Синтаксис

color [attr] 

Параметры

Параметр Описание
attr Задает атрибут цвета выходных данных консоли.
/? Отображение справки в командной строке.

В следующей таблице перечислены допустимые шестнадцатеричные цифры, которые можно использовать в качестве значений: attr

Значение Цвет
0 Черный
1 Синий
2 Зеленый
3 Темно-бирюзовая
4 Красный
5 Лиловая
6 Желтый
7 Белокожий(ая)
8 Серый
9 Светло-синий
a Светло-зеленый
б Легкий аква
в Светло-красный
дн. Светло-фиолетовый
Д. Светло-желтый
f Ярко-белый
Замечания
  • Можно указать одну или две шестнадцатеричные цифры. Первый используется в качестве цвета переднего плана, а второй используется в качестве цвета фона. Если указать две шестнадцатеричные цифры, не используйте пробелы между ними.
  • Если указать только одну шестнадцатеричную цифру, соответствующий цвет используется в качестве цвета переднего плана, а цвет фона имеет значение по умолчанию.
  • Чтобы задать цвет окна командной строки по умолчанию, выберите верхний левый угол окна командной строки, выберите вкладку «Цвета«, а затем выберите цвета, которые вы хотите использовать для фона экрана и экрана.
  • Если указать одно и то же значение для двух шестнадцатеричных цифр, для параметра ERRORLEVEL задано 1 значение, и изменения не изменяются на переднем плане или цвете фона.

Примеры

Чтобы изменить цвет фона окна командной строки на серый и цвет переднего плана на красный, введите:

color 84 

Чтобы изменить цвет окна командной строки переднего плана на светло-желтый, введите следующее:

color e 

В этом примере для фона задан цвет по умолчанию, так как указана только одна шестнадцатеричная цифра.

Дополнительные ссылки

COLOR — описание команды и примеры использования

COLOR - описание команды и примеры использования

В следующей таблице перечислены допустимые шестнадцатеричные числа, которые можно задать в качестве значений параметров т и ф.

Параметр Описание
0 Черный
1 Синий
2 Зеленый
3 Голубой
4 Красный
5 Сиреневый
6 Желтый
7 Белый
8 Серый
9 Светло-синий
A Светло-зеленый
B Светло-голубой
C Светло-красный
D Светло-сиреневый
E Светло-желтый
F Яркий белый
/? Выводит справочную информацию в командной строке.

Примечания

  • Чтобы задать стандартные цвета в окне командной строки, щелкните левый верхний угол этого окна, выберите команду Умолчания, перейдите к вкладке Цвета и укажите цвета для параметров Текст на экране и Фон экрана.
  • Для изменения цветов окна командной строки в текущем сеансе можно воспользоваться командой cmd /t:тф.
  • Если цвета текста и фона совпадают, команда color устанавливает значение параметра ERRORLEVEL в единицу (1).

Примеры использования

Чтобы изменить цвет текста на красный, а цвет фона на белый в окне командной строки, введите следующую команду:

color FC

Чтобы вернуть все настройки, которые были по-умолчанию наберите команду без параметров:

Цвет шрифта и фона в консоли.

Author24 — интернет-сервис помощи студентам

Знаю, это тема уже обсуждалась, но я новичок в программировании и ничего в предложенном ранее коде не поняла, если кто-нибудь знает как это сделать, пожалуйста напишите здесь на примере hello word например

Лучшие ответы ( 2 )

Здесь вы можете заказать любую студенческую или школьную работу.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Выбор цвета шрифта и фона консоли
Всем привет, нужно сделать так чтобы можно было выбрать цвет шрифта и цвет консоли. У меня.

Цвет шрифта в консоли
Здравствуйте, уважаемое сообщество! Подскажите, пожалуйста, есть ли возможность установить цвет.

Цвет фона консоли с++
Всем привет! Подскажите пожалуйста как поменять цвет фона в консоли, чтобы вместо чорного экрана.

Размер шрифта в консоли
Как програмно настроить размер шрифта wxDev-C++

Эксперт С++

2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841

Лучший ответ

Сообщение было отмечено как решение

Решение

1 2 3 4 5 6 7 8 9
#include #include int main() HANDLE hwnd = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hwnd, FOREGROUND_GREEN 

Разукрашиваем вывод в консоли: теория и практика

Консоль привлекает многих своей минималистичностью и эстетикой, но даже в ней иногда хочется выделить определённый фрагмент, чтобы показать его роль или значимость. Например, отметить зелёным текстом сообщение об успешном выполнении операции или обозначить длинный текст ошибки курсивом. О том, как это делать, а также о реализации на питоне — читайте далее.

Управляющие последовательности ANSI

ANSI escape sequences или Управляющие последовательности ANSI — это стандарт, дающий возможность управлять курсором, цветами, начертание в текстовых консолях. Такие последовательности воспринимаются отрисовщиком терминала, как команды отображать последующий текст в определенном формате. Есть также последовательность, которая сбрасывает предыдущие команды, и отображение текста становиться обычным. Существует несколько форматов управляющих последовательностей, различающихся возможностями и появившимися в разных версиях кодировок. Поговорим об этих форматах подробнее.

8 основных цветов и стили

Для обычного пользователя разнообразия цветов этого формата будет более чем исчерпывающим. Но прежде чем задумываться о том, что терракотовый цвет гораздо круче красного, и он вам уж точно нужен, давайте разберемся, как устроена самая простая версия управляющей последовательности ANSI для форматирования текста.

Чтобы изменить текущий цвет шрифта или фона можно использовать следущий синтаксис:

  • Начинается управляющая последовательность с любого из этих трёх представлений: \x1b[ (hex) или \u001b[ (Unicode) или \033[ (oct)
  • Далее следуют аргументы, разделённые между собой ; (можно указывать в любом порядке)
  • В конце ставится буква m
Возможные аргументы
Модификатор Код
1 Жирный
2 Блеклый
3 Курсив
4 Подчёркнутый
5 Мигание
9 Зачёркнутый
Цвет Код
30 Чёрный
31 Красный
32 Зелёный
33 Жёлтый
34 Синий
35 Фиолетовый
36 Бирюзовый
37 Белый
Цвет Код
40 Чёрный
41 Красный
42 Зелёный
43 Жёлтый
44 Синий
45 Фиолетовый
46 Бирюзовый
47 Белый
Бонус: другие интересные модификаторы, которые могут поддерживаться не всеми платформами
Модификатор Код
38 RGB цвет (см. раздел «Совсем много цветов»)
21 Двойное подчёркивание
51 Обрамлённый
52 Окружённый
53 Надчёркнутый

Пример корректного синтаксиса: \033[3;36;44m . После вывода этой конструкции стиль будет изменён для всего последующего текста. Чтобы вернуться к изначальному состоянию можно использовать \033[0m , тогда весь текст с этого места вернётся к изначальному форматированию.

Давайте поэкспементируем. Для примеров я буду использовать Python.

Важно заметить, что форматирование повлияло и на консоль питона, а не только на ее вывод. Именно поэтому очень важно закрывать все «тэги» изменения форматирования.

Часто используемые сочетания (copy-paste-able)
Код Описание
\033[0m вернуться к начальному стилю
\033[31m \033[0m красный текст — для обозначения ошибок
\033[1;31m \033[0m жирный красный текст — для обозначения критических ошибок
\033[32m \033[0m зеленый текст — успешное выполнение
\033[3;31m \033[0m красный курсив — текст ошибки
\033[43m \033[0m выделение основного, как будто жёлтым маркером

Больше цветов: аж целых 256

Некоторые терминалы поддерживают вывод целых 256 цветов. Если команда echo $TERM выводит xterm-256color , то ваш терминал всё корректно обработает.

В этом формате синтаксис немного другой:

Для генерации кодов цветов можно использовать генератор.

А палитру доступных цветов можно увидеть на картинке ниже.

Палитра цветов

Совсем много цветов

Этот формат не всегда поддерживается стандартными консолями.

Некотрые будут негодовать: «256 цветов и нет моего любимого терракотового, какой ужас!». Для таких ценителей существует формат, который уже поддерживает 24 битные цвета (3 канала RGB по 256 градаций).
Для не ценителей поясню, что терракотовый кодируется как — (201, 100, 59) или #c9643b.
Синтаксис в этом формате выглядит вот так:

  • \033[38;2;⟨r⟩;⟨g⟩;⟨b⟩m — цвет текста
  • \033[48;2;⟨r⟩;⟨g⟩;⟨b⟩m — цвет фона

Python: Использование библиотеки Colorama

Библиотека Colorama позволяет форматировать текст, не запоминая коды цветов. Рассмотрим её использование на примере:

from colorama import init, Fore, Back, Style init() print(Fore.RED + 'some red text\n' + Back.YELLOW + 'and with a yellow background') print(Style.DIM + 'and in dim text\n' + Style.RESET_ALL + 'back to normal now')

Style позволяет изменить стиль, Fore — цвет шрифта, Back — цвет фона. Использовать переменные из colorama нужно также, как и коды изменения стиля. Но плюс использования библиотеки в том, что Fore.RED более читаем, чем \033[0;31m

Если в colorama.init() указать параметр autoreset=True , то стиль будет автоматически сбрасываться (в конец каждого print будут добавлены сбрасывающие стили последовательности), поэтому вам не придётся об этом каждый раз вспоминать.

А что не так с Windows?

Просто так синтаксис, описанный в начале статьи, не работает в командной строке Windows. Поддержка цветов появлялась постепенно, причём в странном варианте. В начале программы надо сделать системный вызов, активирующий отрисовку цветов. А в более старых версиях необходимо заменить все ANSI последовательности на системные вызовы.

Но colorama.init() сделает всё за вас в большинстве версий Windows. Однако если вы используете другую операционную систему, то функцию init() вызывать в начале программы не обязательно. Также некоторые IDE на Windows (например, PyCharm) тоже поддерживают цвета без каких-либо махинаций.
А еще Windows не поддерживает многие модификаторы, такие как жирный текст. Подробнее можно почитать на странице Colorama

Termcolor

Ещё одна библиотека для вывода цветного текста с более удачным, на мой взлгяд, синтаксисом.

from termcolor import colored, cprint text = colored('Hello, Habr!', 'red', attrs=['blink']) print(text) cprint('Hello, Habr!', 'green', 'on_red')

Кстати, проблему с Windows всё ещё можно починить с помощью colorama.init()

Выводы

Стандартные 8 цветов позволяют разнообразить вывод в консоль и расставить акценты. 256 цветов намного расширяют возможности, хотя и поддерживаются не всеми консолями. Windows, к сожалению, не поддерживает многие основные модификаторы, например, курсив. Также есть некоторые цвета, которые не прописаны в стандартах, но могут поддерживаться вашей операционной системой. Если вы хотите больше цветов, то вы можете поискать их в Гугле.
Пока что не любой терминал поддерживает 24-битные цвета и все модификаторы, но мы вряд ли увидим сильные изменения в этой сфере. Так что пока нам остаётся выбирать самые красивые варианты из тех, что доступны в любимом терминале.

Источники

  • Картинки с синтаксисом из статьи
  • Генератор из статьи на Хабре
  • ANSI escape code

Облачные серверы от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *