Accueil

Traduction

Tutoriel Canvas - sommaire

Tutoriel Canvas - recherche

L'auteur : Patrick Darcheville

Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site

Insertion de texte et ombrage

Dans ce chapitre je montre comment insérer et styler du texte dans un canevas.

Insérer du texte dans un canevas

Exemple

Votre navigateur est obsolète

Le code correspondant

Le canevas fait 300 par 300. Les variables X et Y représentent respectivement la largeur et la hauteur de la zone Canvas.

Le script :

Ici on utilise plusieurs propriétés de la librairie Canvas.

Chaque mot se répartit horizontalement et verticalement autour de son point de référence car ici textAlign= 'center' et textBaseline= 'middle'

Mise en forme du texte grâce à la propriété font qui fonctionne exactement comme la méga propriété font de CSS.

Syntaxe

Les valeurs possibles de la propriété textAlign sont : left / center /right
Les valeurs possible de la propriété textBaseline sont : top / middle / bottom

Rappel CSS

La méga propriété font remplace les propriétés élémentaires suivantes : font-style, font-variant, font-weight, font-size, font-family.
Exemple : font : italic small-caps bold 24pt Arial ;
Remarque : il faut respecter l'ordre mais il n'est pas obligatoire qu'il y ait 5 valeurs !

Canvas : ombrage de formes

Les quatres propriétés shadowColor, shadowOffsetX, shadowOffsetY, shadowBlur permettent non seulement d'ombrer le texte du Canevas mais aussi les formes comme je le montre dans le canevas ci-dessous.

Le canevas

Les six formes géométriques sont ombrées.
Je définis un modèle de rectangle et le duplique deux fois. Même remarque pour le cercle et le triangle.
Je dessine donc beaucoup de formes via un script très succinct.

Le code correspondant

Le canevas fait 400 par 400.

Le script :

Les quatres propriétés shadowColor, shadowOffsetX, shadowOffsetY, shadowBlur permettent non seulement d'ombrer du texte mais aussi les formes.

Remarquez que les trois formes géométriques sont définies grâce au constructeur Path2D() et que la dernier chemin est défini avec la syntaxe SVG (notation en relatif).
Rassurez-vous, il y a tout un chapitre sur le constructeur Path2D() et sur la notation au format SVG des chemins.
Le contructeur Path2D() et la notation SVG des chemins

J'utilise aussi une transformation et plus précisèment une translation. Les transformations sont aussi évoqués dans ce tuto.