Dessinez une autre bordure en ligne sur la toile
-
24-12-2019 - |
Question
J'ai un problème.J'ai besoin de dessiner une autre bordure dans ma toile.Si j'essaye ceci :
c2.beginPath();
c2.moveTo(0, 0);
c2.lineTo(0, 100);
c2.lineWidth = Number(sw) + 6;
c2.strokeStyle = "red";
c2.stroke();
c2.lineTo(100, 100);
c2.lineWidth = Number(sw) + 6;
c2.strokeStyle = "#00ec11";
c2.stroke();
c2.lineTo(0, 100);
c2.lineWidth = Number(ss) + 6;
c2.strokeStyle = "red";
c2.stroke();
c2.closePath();
c2.lineWidth = Number(sw) + 6;
c2.strokeStyle = "#00ec11";
c2.stroke();
c2.fill();
cela ne fonctionne pas car toutes les lignes ont une bordure verte.Pouvez-vous m'aider?
--- Modifier:Je ne peux pas fermer le patch lorsque je ferme ma ligne à cause de cette forme de dessin de ligne.Lorsque je ferme le patch, ma forme n'est pas correcte.Peut-être d'autres idées ?
La solution
c2.stroke();
redessine tout le chemin jusqu'à ce point avec le style de trait actuel.Au final, seul le dernier style sera appliqué.
Essayez d'ajouter c2.closePath();
suivi de c2.beginPath()
après chaque c2.stroke()
pour commencer un nouveau chemin qui peut avoir un style de trait distinct.
Par exemple:
c2.lineTo(0, 100);
c2.lineWidth = Number(sw) + 6;
c2.strokeStyle = "red";
c2.stroke();
c2.closePath();
c2.beginPath();
c2.moveTo(0, 100);
c2.lineTo(100, 100);
c2.lineWidth = Number(sw) + 6;
c2.strokeStyle = "#00ec11";
c2.stroke();
c2.closePath();
.
.
.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow