HTML5 Canvas

1: canvas 标签是使用js 在上面绘制图形以及动画。
2:属性 width height 设置canvas 的大小 和css不一样 设置的是canvas 画布的大小

var canvas = document.querySelector("#canvas");
//设置canvas 画布大小
canvas.width = 700;
canvas.height = 400;

3:设置canvas的模型为2d模型

var context = canvas.getContext("2d");

绘制矩形

 //1设置图    形填充的样式
 context.fillStyle="#e30000";
 //2绘制一个矩形
 context.fillRect(0,0,100,50);
 //context.fill()//是填充点先路径的

绘制圆弧

 context.beginPath(); //开始路径
 context.fillStyle="green";
 context.arc(350,200,100,0,Math.PI*2,true);
 context.stroke();//绘制描边的
 context.fill();//使用样式填充圆的
 context.closePath();//闭合路径

绘制线条

 context.beginPath();
 context.strokeStyle="red";//设置描边色
 context.fillStyle="red";
 context.moveTo(0,200);//起始点
 context.lineTo(200,200);//移动点
 context.lineTo(30,350);
 context.lineTo(100,130);
 context.lineTo(170,350);
 context.lineTo(0,200);
 context.stroke();//设置线描边
 context.fill();
 context.closePath();

绘制基本的弧形

 context.beginPath();
 context.strokeStyle="red";//设置描边色
 context.moveTo(500,300);//起始点
 //弧
 context.arcTo(600,250,66 0,300,30);
 context.lineTo(700,300);//移动点
 context.stroke();//设置线描边
 context.closePath();

绘制线性渐变

context.beginPath();
var line=context.createLinearGradient(200,100,200,200);
//添加线性渐变的颜色
line.addColorStop(0,"blue");
line.addColorStop(0.2,"red");
line.addColorStop(0.4,"green");
line.addColorStop(0.6,"orange");
line.addColorStop(0.8,"yellow");
line.addColorStop(1,"pink");
context.fillStyle=line;
context.fillRect(100,100,200,100);
context.closePath();

绘制圆形渐变

 context.beginPath();
 var arcgradient=context.createRadialGradient(350,200,10,350,200,100);
 arcgradient.addColorStop(0,"blue");
 arcgradient.addColorStop(0.2,"red");
 arcgradient.addColorStop(0.4,"green");
 arcgradient.addColorStop(0.6,"orange");
 arcgradient.addColorStop(0.8,"yellow");
 arcgradient.addColorStop(1,"pink");
 context.fillStyle=arcgradient;
 context.arc(350,200,100,0,Math.PI*2,true);
 context.fill();
 context.closePath();

清除绘制的区域

 context.clearRect(330,180,40,40);

绘制图片

    context.beginPath();
    var image=new Image();
    image.src="https://fc3tn.baidu.com/it/u=3025909226,1763324618&fm=202&src=bqdata";
    context.drawImage(image,0,0,700,400);

绘制的时候剪裁

 context.moveTo(500,200);
 context.lineTo(530,200);
 context.arcTo(550,160,570,200,20);
 context.lineTo(570,200);
 context.lineTo(600,200);
 context.lineTo(600,300);
 context.lineTo(500,300);
 context.lineTo(500,200);
 context.clip();
 context.fillStyle="#fff";
 context.fill()
 context.strokeStyle="red";
 context.stroke();
 context.closePath();

绘制文字

 var line=context.createLinearGradient(200,100,300,150);
 //添加线性渐变的颜色
 line.addColorStop(0,"blue");
 line.addColorStop(0.2,"red");
 line.addColorStop(0.4,"green");
 line.addColorStop(0.6,"orange");
 line.addColorStop(0.8,"yellow");
 line.addColorStop(1,"pink");
 context.font="30px SimSun, Songti SC";
 context.shadowColor="pink";
 context.shadowBlur=2;
 context.shadowOffsetX=10;
 context.shadowOffsetY=10;
 context.fillStyle=line;
 context.fillText("Canvas",200,100,200);

绘制线条

context.beginPath();
context.lineWidth = 10;
context.strokeStyle = "blue";//设置描边色
context.fillStyle = "red";
context.moveTo(0, 200);//起始点
context.lineTo(200, 200);//移动点
context.lineTo(30, 350);
context.lineTo(100, 130);
context.lineTo(170, 350);
context.lineTo(0, 200);
context.stroke();//设置线描边
context.fill();
context.save();//保存

//使用restore  取出
context.restore();
context.fill();
context.stroke();
context.closePath();
内容概要:本文探讨了在MATLAB/SimuLink环境中进行三相STATCOM(静态同步补偿器)无功补偿的技术方法及其仿真过程。首先介绍了STATCOM作为无功功率补偿装置的工作原理,即通过调节交流电压的幅值和相位来实现对无功功率的有效管理。接着详细描述了在MATLAB/SimuLink平台下构建三相STATCOM仿真模型的具体步骤,包括创建新模型、添加电源和负载、搭建主电路、加入控制模块以及完成整个电路的连接。然后阐述了如何通过对STATCOM输出电压和电流的精确调控达到无功补偿的目的,并展示了具体的仿真结果分析方法,如读取仿真数据、提取关键参数、绘制无功功率变化曲线等。最后指出,这种技术可以显著提升电力系统的稳定性与电能质量,展望了STATCOM在未来的发展潜力。 适合人群:电气工程专业学生、从事电力系统相关工作的技术人员、希望深入了解无功补偿技术的研究人员。 使用场景及目标:适用于想要掌握MATLAB/SimuLink软件操作技能的人群,特别是那些专注于电力电子领域的从业者;旨在帮助他们学会建立复杂的电力系统仿真模型,以便更好地理解STATCOM的工作机制,进而优化实际项目中的无功补偿方案。 其他说明:文中提供的实例代码可以帮助读者直观地了解如何从零开始构建一个完整的三相STATCOM仿真环境,并通过图形化的方式展示无功补偿的效果,便于进一步的学习与研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值