Можно ли редактировать палитры любого терминала Windows с помощью pdcurses?

Я большой поклонник эстетики ASCII, и мне нравится идея создания графики из терминала.

Я играю с pdcurses в среде Windows, и я нашел очень интересное свойство: init_color. Тем не менее, это не похоже на работу вообще! Не только цветовая гамма каждого терминала, который я пробовал (CMD.exe, ConEmu и Console2), ограничена 16 цветами, но я не могу редактировать палитру.

Я не мог найти ничего об этой теме онлайн.

Так … Это вообще возможно? А если нет, есть ли альтернативы? Например, я знаю, что в ConEmu есть палитры, но я не знаю, как определить, какую палитру использовать в программе на c ++.

Вот пример кода, который я пробовал:

#include <curses.h>
int main()
{
init_color(1, 700, 600, 111);
initscr();
noecho();
if(has_colors() == FALSE)
{
endwin();
printf("Your terminal doesn't support color..!\n");
return 1;
}
init_color(2, 555, 555, 222);
start_color();
init_pair(1, 1, 0);
init_pair(2, 2, 0);
attron(COLOR_PAIR(1));
printw("aaaa ");
attron(COLOR_PAIR(2));
init_color(12, 700, 600, 111);
printw("bbbb\n");
getch();
endwin();
return 0;
}

1

Решение

Код для этого в PDCurses 3.4 использовался в некоторых версиях Windows, но позднее Windows (XP Service Pack 3+) сломала его. Тем не менее, он был обновлен для работы с текущей Windows, если вы взяли последний код PDCurses из git.

Кстати, вы должны только позвонить init_color() после initscr(),

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]