Openlayers基础教程|从前端框架到GIS开发系列课程(24)openlayers结合canva绘制矩形&绘制线

本章节讲解Canvas如何结合 Openlayer  使用,首先我们讲解Canvas的绘图基础。

我们初始化地图的时候可以看见,实际上Openlayer的地图就是用Canvas实现绘制的。

image.png

Canvas绘制基本概念

什么是canvas?HTML5 <canvas>   元素用于图形的绘制,区别于css,它的绘制通过 JavaScript  来完成绘制。

<canvas>   标签只是 图形容器  ,您必须使用脚本来绘制图形

Canvas API主要聚焦于2D图形。同样使用<canvas>元素的  WebGL API  则用于绘制硬件加速的2D和3D图形。

绘制矩形

image.png

2.1设置canvas元素

<!-- 1、设置canvas元素 --><canvas id="canvas" width="200" height="200"></canvas><script>

2.2获取canvas

   /* 2、获取canvas */    const canvas = document.getElementById("canvas");

2.3获取上下文

返回一个对象,对象包含绘制图形的方法和属性​​​​​​​

/* 3、getContext()返回一个对象,对象包含绘制图形的方法和属性 */    const ctx = canvas.getContext("2d");

2.4执行绘制​​​​​​​

     /* 4、执行绘制fillRect(x,y,width,height) x,y*/    ctx.fillRect(10,10,100,100);    ctx.fillStyle= "#333"

2.5完整代码示例:

<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>  </head>  <body>    <!-- 1、设置canvas元素 -->    <canvas id="canvas" width="200" height="200"></canvas>    <script>      /* 2、获取canvas */      const canvas = document.getElementById("canvas");      /* 3、getContext()返回一个对象,对象包含绘制图形的方法和属性 */      const ctx = canvas.getContext("2d");      /* 4、执行绘制fillRect(x,y,width,height) x,y*/      ctx.fillRect(10, 10, 100, 100);      ctx.fillStyle = "#333";    </script>  </body></html>

绘制线

canvas 是一个二维网格

canvas 的左上角坐标为 (0,0)

上面的 fillRect 方法拥有参数 (0,0,100,,100)。

意思是:在左上角开始 (0,0)的位置,绘制100*100的图形

图片

3.1路径

在Canvas上画线,我们将使用以下两种方法:

moveTo(x,y) 定义线条开始坐标

lineTo(x,y) 定义线条结束坐标

绘制线条我们必须使用到 "link" 的 stroke() 方法,执行绘制。

下面我们来试一下在canvas中实现线的绘制

图片

3.2设置canvas元素​​​​​​​

 <!-- 1、设置canvas元素 -->    <canvas id="canvas" width="200" height="200"></canvas>    <script>

3.3获取canvas元素​​​​​​​

/* 2、获取canvas */const canvas = document.getElementById("canvas");

3.4获取上下文​​​​​​​

/* 3、获取上下文 */const ctx = canvas.getContext("2d");

3.5设置起点和终点

起点​​​​​​​

/* 4、moveTo设置起点坐标 */ctx.moveTo(10, 10);

终点​​​​​​​

/* 5、设置终点坐标 lineTo */ctx.lineTo(100, 100);

3.6执行绘制​​​​​​​

/* 6、执行绘制 */ctx.strokeStyle = "#ff2d51";ctx.stroke();

完整代码:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title></head><body>    <!-- 1、设置canvas元素 -->    <canvas id="canvas" width="200" height="200"></canvas>    <script>        /* 2、获取canvas */        const canvas = document.getElementById("canvas");        /* 3、获取上下文 */        const ctx = canvas.getContext("2d");        /* 4、moveTo设置起点坐标 */        ctx.moveTo(10, 10);        /* 5、设置终点坐标 lineTo */        ctx.lineTo(100, 100);        /* 6、执行绘制 */        ctx.strokeStyle = "#ff2d51";        ctx.stroke();    </script></body></html>

打开链接下载源码: https://pan.quark.cn/s/a4b39357ea24 HFSS,其全称为High Frequency Structure Simulator,是由Ansys公司研发的一款高级三维电磁场仿真软件,主要应用于射频、微波以及光学领域内的设计工作与性能分析。当前压缩包内提供的是一个基于HFSS软件构建的偶极子天线模型,并且包含了该模型的仿真数据,我们将对这一模型及其关联的学术知识进行细致的探讨。偶极子天线属于天线设计中最基础的类型之一,其结构由两个大小相等且布局对称的导体单元构成,整体形状类似于汉字&ldquo;工&rdquo;。在2.4GHz的频率条件下,此类天线被广泛部署于Wi-Fi、蓝牙等无线通信系统的构建中。HFSS软件能够对偶极子天线的电气特性进行高精度模拟,涵盖辐射模式、增益水平、方向图形态、输入阻抗以及S参数等多个核心指标。 S参数(即Scattering Parameters),是用于评估天线或微波器件输入端与输出端之间相互影响程度的关键参数。S参数详细刻画了信号流经网络设备时的反射与传输状态,其中S11(输入反射系数)和S21(传输系数)是最为常用的两种表征方式。借助HFSS软件执行S参数仿真,可以获取天线在多种频率下的反射与传输特性表现,从而协助设计人员对天线的阻抗匹配程度和运行效率进行有效评估。在此模型中,S参数仿真工作业已完成,因此我们可以直接审视2.4GHz频率下的阻抗匹配状况,以验证天线在该工作频段内能否展现出理想的性能。 在&quot;Project1_1.aedt&quot;与&quot;Project1.aedt&quot;这两个提供的文件中,储存了HFSS项目的完整信息。这些文件内含了天线的几何构造细节、材料物理属性、边界约束条件、求解器配置参数以及仿真获取的结果...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值