Trop de rectangle

Résolu
pascalg2 - Modifié par Whismeril le 25/01/2015 à 19:25
 pascalg2 - 26 janv. 2015 à 15:17
Bonjour,
Ca fait plusieurs jours que je tourne en rond, je n'arrive pas à trouver pourquoi j'ai trop de rectangles avec fillRect : je me sers d'une boucle pour afficher plusieurs rectangles de couleurs (légende d'un camembert) et je me retrouve avec x + (x -1) rectangles, les indésirables étant de la même couleur.
code :
...bla bla bla
var dessin = "graf01";    // pour ici, en réalité issue d'un tableau
var canvas = document.getElementById(dessin);
 var ctx = canvas.getContext('2d');
 var color1 = new  Array("darkcyan","yellow","red","blue","green","cyan","gold");
 var lg = 7;    // pour ici, en réalité longueur d'un tableau

 for(j = 0; j < lg; j++) {    
         ctx.fillStyle = color1[j];
         ctx.fillRect(0, j * 14, 20, (j + 1) * 14);
 }

blablabla...

Si quelqu'un à déjà résolu ce problème...

Merci

PS : je suis sur opéra mais c'est pareil sur firefox.

EDIT: Ajout de la coloration syntaxique.

3 réponses

@karamel
Messages postés
1808
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 juillet 2022
144
26 janv. 2015 à 11:29
bonjour

pourrai tu mettre plus de code afin de tester car comme ca pas évident
0
@karamel
Messages postés
1808
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 juillet 2022
144
26 janv. 2015 à 12:21
j'ai testé et il y a une chose que je ne comprend pas

(j + 1) * 14


en retirant cette partie on obtient bien le nombre de rectangle

ctx.fillRect(0, j * 14, 20,14);


et si il faut des espacements entre chaques rectangle

 ctx.fillRect(0, j * (14+5), 20,14);
0
Merci Kazma,
c'est le 'bug ' que je cherchais.
C'est bien 14 au lieu de (j + 1) * 14.

Merci encore
0