我有问题。我需要在画布上绘制另一个边框。如果我试试这个:
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();
它不起作用,因为所有线都有绿色边框。你能救我吗?
---编辑: 我可以;当关闭我的线条时,关闭补丁这个线条绘制形状。当我关闭补丁我的形状不正确。梅比的另一个想法?
答案 0 :(得分:0)
c2.stroke();
使用当前的strokeStyle重绘整个路径。所以最后,只会应用最后一种风格。
尝试在每个c2.closePath();
之后添加c2.beginPath()
后跟c2.stroke()
,以开始一个可以有单独strokeStyle的新路径。
例如:
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();
.
.
.