
- Code: Select all
from ti_graphics import drawString, setColor
from ti_system import disp_wait
setColor((255, 0, 255))
drawString("Hallo TI", 0, 30)
disp_wait()
Contrairement à celles de bibliothèques concurrentes, les primitives de ti_graphics ne gèrent pas de couleur de fond.

- Code: Select all
from ti_graphics import drawString, fillRect, setColor
from ti_system import disp_wait
def myDrawString(s, x, y, cf, cb=None):
if cb:
setColor(cb)
fillRect(x, y, 10 * len(s), 15)
setColor(cf)
drawString(s, x, y)
myDrawString("Hallo TI", 0, 30, (255, 255, 0), (0, 0, 255))
disp_wait()
L'affichage de texte couleur via ti_graphics a toutefois divers inconvénients selon ce que tu fais :
- l'affichage est ici superposé à celui de la console, mais avec un système de positionnement totalement différent, ce qui impliquera quelques acrobaties si tu souhaites le faire coexister avec des print()
- l'affichage superposé à la console sera perdu à chaque rafraîchissement de celle-ci, d'où la nécessité de mettre le script en pause juste après ces affichages via un appel disp_wait()
- dans tous les cas obtenir 1 affichage de texte couleur nécessite bien plus de lignes qu'un simple print() et donc autant de choses à comprendre, ce qui peut rebuter les débutants


Les commandes CSI pour Control Sequence Introducer (plus d'infos ici), partie de ce qu'on appelle en français séquences d'échappement ANSI, sont des codes directement intégrés aux chaînes de caractère et permettant de contrôler le formatage du texte leur faisant suite dans une console ou un terminal.
C'est fantastique, les 2 affichages couleur précédents peuvent maintenant être réalisés dans la console en seulement 2 lignes, rien à importer !

- Code: Select all
print("\x1B[5mHallo TI")
print("\x1B[3;4mHallo TI")
L'affichage de texte couleur avec la simplicité d'un print(), un formidable avantage exclusif à ta TI-83 Premium CE !


- Code: Select all
def color_str(s, cf, cb=7):
return "\x1B[" + str(cf) + ";" + str(cb) + "m" + s
n = 16
s = ""
for cb in range(n):
for cf in range(n):
s += color_str("X", cf, cb)
if cb % 2: s += "\n"


En effet elles ne sont qu'au nombre de 15 alors qu'ici nous en avons 16, la couleur rajoutée semblant être le cyan.
Attention, cela ne fonctionne que sur les TI-83 Premium CE Edition Python et modèles similaires.
Cela ne marche pas sur les modèles plus anciens avec l'adaptateur TI-Python externe, ni sur les TI-Nspire CX II.
Cela ne marche pas sur les modèles plus anciens avec l'adaptateur TI-Python externe, ni sur les TI-Nspire CX II.
