A › 15 - Textes et polices

Police

Pour afficher du texte, il faut au préalable définir la police du texte. Sélectionner Tools >> Create Font. Choisir une police parmi celles proposées. Processing va créer un fichier de format vlw permettant d'utiliser la police dans le sketch Processing, et le placer dans le dossier data du sketch en cours.

Les étapes suivantes consistent à :

  • Déclarer un objet de classe PFont, classe consacrée aux polices dans Processing
  • Associer à cet objet la police enregistrée dans le dossier data, avec l'instruction nomDeLaPolice = loadFont(nomDuFichier.vlw);
  • Activer cette police pour l'affichage du texte, par la syntaxe textFont(nomDeLaPolice, taille);.
  • Enfin, afficher du texte, grâce à l'instruction text(message, x , y) où x et y sont les coordonnées du début du message.

Cela donne par exemple :

explorer processing

PFont maPolice;

maPolice = loadFont("NothingYouCouldDo-24.vlw"); // la police doit être dans le dossier data du sketch

size(200,200);

background(5,135,233);

textFont(maPolice, 24); // respecter la taille de la police chargée

text("Explorer", 40, 80);

text("Processing", 40, 100);

Un autre exemple, avec défilement du texte.

PFont maPolice;

int x1, y1, vx1 ;

void setup() {

  maPolice = loadFont("NothingYouCouldDo-24.vlw");

  size(200,200);

  textFont(maPolice, 24);

  x1=200; y1=100; vx1=-1;

}

void draw(){

  background(5,135,233);

  text("Explorer Processing", x1, y1);

  if (x1<-200) {x1=200;}

  x1=x1+vx1;

}

Pour aller plus loin

Voici quelques fonctions liées à l'affichage du texte :

  • la couleur d'écriture est modifiable par la fonction fill (), qui prend en paramètre soit un niveau de gris, soit trois valeurs RVB, soit trois valeurs RVB et un niveau de transparence alpha.
  • la fonction text () peut prendre également en paramètres la largeur et la hauteur à consacrer à l'affichage du texte. La syntaxe complète est alors : text(message, x, y, largeur, hauteur). Si nécessaire le message sera réparti sur plusieurs lignes.
  • l'interligne entre deux lignes de texte peut être déterminé par la fonction textLeading(), qui prend en paramètre la taille de l'interligne en pixels.
  • par défaut, le texte affiché est "aligné à gauche". La fonction textAlign() accepte 3 paramètres : LEFT, CENTER et RIGHT. Elle permet de déterminer si le paramètre x de la fonction text (message, x, y) est la position gauche du message, sa position centrale ou enfin sa position droite.
  • la fonction textWidth(message) permet de déterminer la longueur d'un message affiché avec la police actuelle.
Voici quelques illustrations :