js<canvas>标签绘制不同粗细的线条

var cv = document.getElementById('canvas');
var g = cv.getContext('2d');
//绘制线条1
g.lineWidth=5;
g.moveTo(x1,y1);
g.lineTo(x2,y2);
g.stroke();
//绘制线条2
g.lineWidth=10;
g.moveTo(x3,y3);
g.lineTo(x4,y5);
g.stroke();
//线条1粗细也开始变成10了,为什么?怎么样绘制不同粗细的线条?
最新回答
青春期躁动症

2026-05-17 12:16:27

请在绘制每条线条前,用beginPath()重置路径,这样每条线条的样式就可以单独设置了:

var cv = document.getElementById('canvas');
var g = cv.getContext('2d');
//绘制线条1
g.beginPath(); //看这行
g.lineWidth=5;
g.moveTo(x1,y1);
g.lineTo(x2,y2);
g.stroke();
//绘制线条2
g.beginPath();  //还有这行
g.lineWidth=10;
g.moveTo(x3,y3);
g.lineTo(x4,y5);
g.stroke();
夏晨曦

2026-04-21 10:35:07

jmGraph 支持小程序的canvas库
https://github.com/jiamao/jmgraph

可以试下这个库,每个方块都可以做成一个对象,像操作dom一样。
紫夜雪舞

2026-04-10 17:21:00

先关闭路径再画线条二