2009-07-30 10 views
2

Je souhaite dessiner une boîte remplie dans la console et définir la couleur pour chaque pixel.Dessin de boîtes colorées avec ncurses

Est-il possible de réaliser ceci avec ncurses?

Sinon - y at-il une autre bibliothèque qui fera l'affaire? Non, les curses servent uniquement à dessiner des caractères, pas des pixels.

Répondre

0

Si vous voulez une autre librairie, cela dépend du type de langage que vous voulez (C? XLib, GTK ... Java? AWT, Swing) ou si vous voulez seulement une image statique (libpng, svg, postscript ...)

2

Étant donné que nous parlons de pseudo-graphiques dans la console, il est impossible de définir des couleurs pour des pixels individuels avec ncurses ou toute autre bibliothèque :-) Je suppose donc que vous voulez définir des couleurs pour chaque caractère. C'est possible avec ncurses tant que votre terminal supporte les couleurs. Vous devez appeler attron() fonction pour spécifier la couleur avant vous imprimez le caractère et appelez attroff() pour "annuler" la couleur après que le caractère est imprimé. Avant cela, les couleurs doivent être mis en place pour:

start_color(); 
init_pair(1, COLOR_RED, COLOR_GREEN); /* create foreground/background combination */ 
attron(COLOR_PAIR(1)); /* use the above combination */ 
printw("Some text"); 
attroff(COLOR_PAIR(1)); /* turn color off */ 

Détails sont here

+1

Pour être clair, cette solution définit la couleur d'arrière-plan des personnages. Cela signifie que si vous imprimez des espaces, vous aurez exactement la case vide que vous voulez. – Cascabel