1 回答

TA貢獻1780條經驗 獲得超4個贊
您只缺少一個beginPath,請參閱下面的代碼
const c = document.getElementById('c');
const ctx = c.getContext('2d');
const { height } = ctx.canvas;
var x = 0;
const interval = setInterval(() => {
x += 2;
if (x > 500) clearInterval(interval);
margin = x/5;
gradient = ctx.createLinearGradient(0, margin, 0, height-margin);
gradient.addColorStop(0, `rgba(0,0,0,0)`);
gradient.addColorStop(0.5, `rgba(0,0,0,1)`);
gradient.addColorStop(1.0, `rgba(0,0,0,0)`);
ctx.strokeStyle = gradient;
ctx.beginPath();
ctx.moveTo(x, margin);
ctx.lineTo(x, height-margin);
ctx.stroke();
},10)
<canvas id="c" height="100" width="500"></canvas>
添加回答
舉報