document.body.innerHTML = '<canvas></canvas>'
var cvs = document.querySelector("canvas")
cvs.style.border = "1px solid red"
var ctx = cvs.getContext("2d");
var x0,y0;
for(var i=0;i<300;i++){
var x = i,y=Math.sin(x/10)*10+50;
ctx.strokeStyle="rgba(0,255,0,1)";
ctx.beginPath();
ctx.moveTo(x0||x,y0||y);
ctx.lineTo(x,y);
//ctx.stroke();
x0 = x,y0=y;
var linear = ctx.createLinearGradient(x,y,x,y+100);
linear.addColorStop(0,"rgba(0,255,0,0.6)");
linear.addColorStop(1,"rgba(255,255,255,0)");
ctx.strokeStyle= linear;
ctx.beginPath();
ctx.moveTo(x,y);
ctx.lineTo(x,y+100);
ctx.stroke();
var linear = ctx.createLinearGradient(x,y+50,x,y+120);
linear.addColorStop(0,"rgba(255,0,0,0.6)");
linear.addColorStop(1,"rgba(255,255,255,0)");
ctx.strokeStyle= linear;
ctx.beginPath();
ctx.moveTo(x,y+50);
ctx.lineTo(x,y+120);
ctx.stroke();
}

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库