Pour dessiner on peut utiliser une feuille, avec p5.js il faut créer la feuille et définir sa taille.
La fonction createCanvas(with, height); permet de créer la feuille et de définir sa taille.
L’écran est une grille composée de pixels, il faut donc définir la taille de la feuille en pixels, createCanvas(600px, 300px);
Chaque pixel a sa position dans la feuille. L’origine se trouve en haut à gauche.
Pour dessiner un point :
function setup() { createCanvas(600, 300); } function draw() { background(125); point(300, 150); }
p5.js dispose d’un certain nombre de formes de base qui peuvent être combinées.
function setup() { createCanvas(800, 600); } function draw() { background(200); line(20, 50, 760, 510); }
function setup() { createCanvas(800, 600); } function draw() { background(200); rect(100, 50, 500, 300); }
function setup() { createCanvas(800, 600); } function draw() { background(200); ellipse(400, 300, 400, 400); ellipse(120, 100, 110, 110); ellipse(400, 200, 18, 18); }
Remarques : Pour l’exemple de l’ellipse on constate que le dernier cercle ellipse(400, 200, 18, 18); se trouve au-dessus du premier ellipse(400, 300, 400, 400);
Cet exemple montre comment p5.js affiche les éléments. En effet les éléments sont affichés du haut vers le bas.
Si l’on remplace le code par celui-ci :
function setup() { createCanvas(800, 600); } function draw() { background(200); ellipse(400, 200, 18, 18); ellipse(400, 300, 400, 400); ellipse(120, 100, 110, 110); }
la première ellipse est derrière la deuxième…
Il est possible de dessiner des formes complexes en utilisant la fonction quad, par exemple :
function setup() { createCanvas(800, 600); } function draw() { background(200); quad(150, 100, 250, 200, 600, 400, 450, 100); }
Par défaut le contour d’une forme est de 1 pixel.
Pour définir la couleur du contour stroke(100); donne un contour gris
La fonction strokeWeight(); permet de modifier l’épaisseur du contour. strokeWeight(10); définit un contour de 10 pixels par exemple.
Pour supprimer le contour utiliser la fonction noStroke();
function setup() { createCanvas(800, 600); } function draw() { background(204); strokeWeight(4); stroke(120); ellipse(75, 60, 90, 90); noStroke(); ellipse(200, 60, 90, 90); strokeWeight(10); stroke(120); ellipse(330, 60, 90, 90); }