3 / 3 / 1
Регистрация: 19.11.2014
Сообщений: 65

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

20.11.2014, 16:42. Показов 4120. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, друзья!
Насобирал такой код изменяющий цвет консоли по нажатию на клавиши:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
 
namespace Цвета_консоли
{
    class Program
    {
        static void Main()
        {
            //Получение имени цвета в массив.
            // (typeof(ConsoleColor) не очень понятно.
            String[] colorNames = ConsoleColor.GetNames(typeof(ConsoleColor)); 
 
//=====================================================================
            //Формирование счетчика со сравнением. colorNames.Length показывает индекс цвета в массиве?
       for (int x = 0; x < colorNames.Length; x++)
        {
            //Начинаем с черного
            Console.BackgroundColor = ConsoleColor.Black;
            //Тут возможно есть лишний код. Как он работает?
            Console.BackgroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colorNames[x]);
            //Тщательно чистим экран
            Console.Clear();
            Console.WriteLine("Тыкайте любые клавиши");
//=====================================================================
            ; Console.ReadKey();
        }
        }
    }
}
Как к нему прицепить таймер, чтобы цвет менялся плавно менялся цвет консоли? (смотрел fromRGB, не понял как подключить)

И подскажите пожалуйста следующие моменты:
// (typeof(ConsoleColor) не очень понятно.
C#
1
            String[] colorNames = ConsoleColor.GetNames(typeof(ConsoleColor));
//Формирование счетчика со сравнением. colorNames.Length показывает индекс цвета в массиве?
C#
1
       for (int x = 0; x < colorNames.Length; x++)
//Тут возможно есть лишний код. Как он работает?
C#
1
            Console.BackgroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colorNames[x]);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.11.2014, 16:42
Ответы с готовыми решениями:

Изменение цвета в консоли
И снова здравствуйте. Встала задача изменить цвет текста при выводе на консоль. Реализовать это необходимо через задание параметров RGB....

Изменение цвета текста в консоли
Здравствуйте! Возникла небольшая проблема с оформлением, хочу что бы каждая переменная имела свой текст когда она выводится на экран для...

ContextMenu изменение цвета выбора и цвета текста
Добрый день подскажите как сделать так что бы после выбора пункта меню цвет текста менялся обратно class...

8
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
20.11.2014, 18:25
Цитата Сообщение от Proektura Посмотреть сообщение
Как к нему прицепить таймер, чтобы цвет менялся плавно менялся цвет консоли?
Плавно - это типа совсем плавно или из заданного набора? Если из заданного набора - то вот, цвет меняется примерно раз в полсекунды (можете изменить).
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Threading;
 
namespace ConsoleColoring {
    class Program {
        static string[] colors = Enum.GetNames(typeof(ConsoleColor));
        static int index = 0;
 
        static void Main(string[] args) {
            Timer myTimer = new Timer(new TimerCallback(CallBack), null, 0, 500);
            Console.ReadLine();
        }
        static void CallBack(object state) {
            Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colors[index]);
            index++;
            index=(index==colors.Length)? 0 :index;
        }
    }
}
0
3 / 3 / 1
Регистрация: 19.11.2014
Сообщений: 65
20.11.2014, 19:10  [ТС]
insite2012, не меняется цвет в предложенном решении((.
0
45 / 45 / 32
Регистрация: 15.04.2011
Сообщений: 187
20.11.2014, 19:31
Proektura, а ты напиши в консоли что-нибудь
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
20.11.2014, 19:32
Цитата Сообщение от Proektura Посмотреть сообщение
не меняется цвет в предложенном решении
Это как??? Вы текст вводите постепенно и посмотрите на его цвет))
0
3 / 3 / 1
Регистрация: 19.11.2014
Сообщений: 65
20.11.2014, 20:09  [ТС]
Извиняюсь, все работает!)) Только немного не так.))
При вводе текста меняется его цвет. Изначально же речь шла о смене цвета бэкграунда.
Вот, немного строчное ForegroundColor заменил на BackgroundColor и очистку экрана. Попробуйте запустить.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Threading;
 
namespace ConsoleColoring
{
    class Program
    {
        static string[] colors = Enum.GetNames(typeof(ConsoleColor));
        static int index = 0;
 
        static void Main(string[] args)
        {
            Timer myTimer = new Timer(new TimerCallback(CallBack), null, 0, 500);
            Console.ReadLine();
        }
        static void CallBack(object state)
        {
            Console.BackgroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colors[index]);
[B]//Очистка экрана[/B]
            Console.Clear();
            index++;
            index = (index == colors.Length) ? 0 : index;
        }
    }
}
Под плавной сменой цвета имею ввиду плавные переходы цветов, не резкие, например, красный, оранжевый, желтый, а как если бы мы завязали счетчик на одно из значений rgb, что дало бы нам плавную смену цвета.
Как вот можно запилить такую вещь?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
20.11.2014, 20:12
Цитата Сообщение от Proektura Посмотреть сообщение
Вот, немного строчное ForegroundColor заменил на BackgroundColor и очистку экрана. Попробуйте запустить.
Вау, а мы не знали как сменить цвет фона... Бродили тут во тьме неведения... Спасибо, просветили нас, неучей...
По теме - я предполагал, что вас интересует именно цвет шрифта, а не фона.
По плавному изменению - не могу ничего подсказать, поскольку не пробовал. Будет время - поробую.
0
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
20.11.2014, 20:25
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
 
 
using System.Threading;
 
namespace ConsoleColoring
{
    class Program
    {
 
        static void DrawSpace()
        {
            string []colors = Enum.GetNames(typeof(ConsoleColor));
            Random rnd=new Random();
 
            Console.BackgroundColor =(ConsoleColor)Enum.Parse(typeof(ConsoleColor), colors[rnd.Next(0,colors.Length)]);
            for (int i = 0; i < 25; i++)
            {
                if(i%3==0)
                    Thread.Sleep(200);
                Console.WriteLine(new string(' ',60));
            }
        }
        static void Main(string[] args)
        {
            Console.SetWindowSize(60,29);
            Console.Title = "~~~~Console~~~~~~";
            while (true)
            {
               
              DrawSpace();
                Console.SetCursorPosition(10,25);
                Console.ReadKey(true);
                Console.SetCursorPosition(0,0);
            }
        }
       
    }
}
1
3 / 3 / 1
Регистрация: 19.11.2014
Сообщений: 65
20.11.2014, 21:29  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
Вау, а мы не знали как сменить цвет фона... Бродили тут во тьме неведения... Спасибо, просветили нас, неучей...

Искренне прошу прощения, немного бестактно выразил мысль, просто хотел перечислить внесенные изменения))), но ничего плохого не имел ввиду!
Наоборот, друзья, Вы приносите светочь знания, которая пузырьковой сортировкой возносится от низин false к вершинам true!

Добавлено через 52 минуты
kypiwindy, весьма интересно!!!))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.11.2014, 21:29
Помогаю со студенческими работами здесь

Смена цвета в консоли
Здравствуйте. Дана строка &quot;приветкакдела&quot;. Как изменить цвет в ранее найденных позициях? Чтобы в консоли в результате получилось...

Цвета консоли и метод
Всем примет, хочу сократить ужасно длинный синтаксис выкраски консольки (текста консольки), планировал запихнуть все инструкции в метод и...

Получение цвета данных символа в консоли
Пишу dll для простого рисования в консоли. Нужно сделать функцию GetPixel(int x, int y), которая вернет настройки &quot;клетки&quot;...

Плавное изменение цвета кнопки
как сделать чтобы при наведении на кнопку она плавно меняла цвет и прозрачность?

Плавное изменение цвета формы
Хдравствуйте, есть такая задача: При перемещении указателя мыши по форме она должна плавно менять свой цвет от значений в углах:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru