====== Processing : afficher du texte ====== ==== Présentation ==== Votre programme doit lire un fichier texte et l'afficher ligne par ligne. L'instruction Processing pour afficher du texte est **text("texte à afficher",x,y)** **A faire :** crée ce nouveau programme qui affiche le contenu du fichier **cigale.txt**. Ce fichier **cigale.txt** doit être dans le même dosier que ton projet. # définir une variable globale qui contiendra le contenu du texte contenu= 0 def setup(): # utiliser la variable globale contenu global contenu # taille de la fenêtre size(400,400) frameRate(5) #lecture du contenu du fichier fichier=open('cigale.txt','r') contenu=fichier.read() fichier.close() def draw(): # utiliser la variable globale contenu global contenu background(255) fill(0) # équivalent à fill(0,0,0) # affiche tout le texte text(contenu,10,10) Pour **personnaliser** l'affichage du texte vous pouvez : * changer la **taille** de la police de caractère avec la fonction **textSize(x)**, * changer la **justification** avec la fonction **textAlign(paramètre)** et les paramètres suivants : * LEFT valeur par défaut, * RIGHT, * CENTER Modification de la fonction **draw()** pour afficher le texte, centré, avec une taille de 16 et une couleur verte : # couleur du texte fill(100, 255, 50) # taille du texte textSize(16) # centrage du texte textAlign(CENTER) # affiche tout le texte text(contenu,200,50) Tout le texte n'est pas affiché car il est trop long. ==== Affichage du texte ligne par ligne ==== La variable **contenu** contient l'ensemble du texte. En appliquant la méthode **split()**, il est possible de **découper** tout le texte en précisant quel caractère doit être utilisé pour cela : * on pourrait faire un **découpage avec le point**, qui délimite la fin d'une phrase , * mais ici c'est le caractère **retour à la ligne** qui doit être utilisé. Ce caractère n'est pas affiché mais est utilisé pour passer à la ligne suivante. Le marque de fin de ligne se note **\n**. Le résultat de la méthode **split()** retourne un **tableau** avec les différents éléments trouvés. IL ne reste alors qu'à afficher un nouvel élément du tableau à chaque appel de la fonction **draw()**. **A faire :** modifie le programme précédent pour afficher le texte ligne par ligne : # définir une variable globale qui contiendra le tableau des lignes du texte tableau = [] # variable pour compter les lignes ligne=0 def setup(): # utiliser la variable globale tableau global tableau # taille de la fenêtre size(400,400) frameRate(1) #lecture du contenu du fichier fichier=open('cigale.txt','r') contenu=fichier.read() # découpage ligne par ligne tableau=contenu.split("\n") fichier.close() def draw(): # utiliser les variables globales tableau et ligne global tableau, ligne background(255) fill(0) # affiche une ligne du tableau text(tableau[ligne],10,50) # passer à la ligne suivante si on n'est pas à la dernière ligne if ligne < len(tableau) - 1 : ligne = ligne + 1 ==== Projet Processing ... ==== * [[icn:facultatif::p_processing|Projet Processing : du texte et des images]]