今天晚上面试被问到用canvas实现一个扇形,现在就来总结一下前端实现一个扇形的几种方式

源文件地址:实现一个扇形

代码实现

方法1. border-radius

HTML

CSS

width: 50px;

height: 50px;

border-bottom-right-radius: 50px;

background-color: #110099;

方法2. canvas + arc

HTML

JS

const drawSector = function () {

const ctx = document.querySelector('#sector2').getContext('2d');

ctx.moveTo(50, 50);

ctx.arc(50, 50, 50, 0, 90 * Math.PI / 180);

ctx.lineTo(50, 50);

ctx.stroke();

}

drawSector();

方法3. svg+path

HTML

d="M 50 50

A 50 50 90 0 0 50 -50

L 50 50

Z" />

效果展示

深入研究

自定义角度、自定义半径、自定义起始坐标等,封装一个组件,通过传递一个角度画出对应角度的扇形

页面没什么效果,我想加点动画,比如刚进入页面的时候来一段绘制动画,参考echarts

加入交互,鼠标悬浮,点击的回调函数透出

容错处理、异常处理等,局部错误不会阻塞整体绘制

可以做到可视化建图吗?实现思路

比较svg和canvas实现成本与体验效果

参考

java+如何画一个扇形_实现一个扇形的几种方法相关推荐

  1. 三菱FX3U系列PLC运动控制_伺服回原点的3种方法示例

    三菱FX3U系列PLC运动控制_伺服回原点的3种方法示例 方法1: 运动的方向为圆形.环形.电机往一个方向转动: 只有一个原点开关,没有极限开关 如下图所示, 原点回归的方式为:启动回原点后,电机开始 ...

  2. java的应用程序开发_开发一个Java应用程序(1)

    开发一个Java应用程序(1) App Engine上的Java Web应用程序通过Java Servlet标准接口与应用程序服务器交互.一个应用程序由一个或多个类组成,这些类都扩展自一个servle ...

  3. java配合什么做前端_作为一个java程序员 ,前端的技术需要达到什么水平?

    一个后端程序员,需要掌握前端技术吗? JSP时代 8年前,刚刚进入编程这个行业,当时的Web开发使用古老的SSH框架+JSP.那个时候,几乎所有的Java程序员都要懂得如何写JavaScript.如何 ...

  4. Java不同长度数组赋值_定义一个数组时可以先不赋初值,但一定要确定数组的长度...

    [多选题]识别层理主要是根据( )这几个方面来识别. [多选题]层理是通过岩石的( )在岩层垂直断面上的突变和渐变所显示出来的一种成层构造. [单选题]在使用JDBC API的PreparedStat ...

  5. Java实现中国式排名_统计中国式排名的三种方法,一定有一个适合你

    引言:什么是中国式排名 看到题目,可能有些朋友会产生一个疑问,什么是中国式排名?通过一个例子来看看: C列是使用了RANK函数得到的名次,RANK函数的用法很简单:=RANK(要排名的数据,参加排名的 ...

  6. java怎么画有角度_在Java中以特定角度画一条线

    假设我有一个(x,y)对于一条线的起点始终是相同的,并且(x,y)对于同一条线的终点是变化的.该行也总是40px长.在程序开始时,该线以垂直方向开始(称为0度).根据用户输入,我需要通过仅更改端点(x ...

  7. java怎么画八卦图_自己画八卦图怎么画?电脑绘制八卦图|八卦图的简单画法

    今天又是美妙的周五了,其实小编周一早上起床睁开眼的时候,就很期待的想着,如果今天是周五就好了.结果没想到,时间一下子就过去了,今天真的是周五了.啊哈哈,很绕是吧,还是不说废话了,来看看今天的教程方案吧 ...

  8. 正则不等于一个字符串_更正一个观念:“积食”不等于“吃多了”

    在给小朋友推拿的过程中,经常会碰到这样的情况:我看了看孩子的舌苔,然后告诉宝妈们孩子有些积食了.有些宝妈会很不解的说:"宝宝这几天吃的很少了啊,怎么会积食呢?"我也就很无奈的再解释 ...

  9. java list装3组数据_数组转List的3种方法和使用对比!

    前言: 本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析. 一.最常见方式(未必最佳) 通过 Arrays.asList(strArray ...

  10. JAVA数组扁平化整合_数组扁平化的几种处理放法

    清明节,这几天放假闲来无事,好好研究一下基础知识,今天看看数组扁平化该怎么处理: 先来看数组扁平化是什么: var arr = [1,2,3,4,[5,6,[7,8]],true] => [1, ...

最新文章

  1. 思科预计全球云数据流量将以66%的混合年增长率递增
  2. RouterOS建立PPPOE服务器
  3. 如何处理 Windows Phone 8 动态砖变成黑白砖
  4. matlab销量预测的数学模型,数学建模:酒店最优化问题.用matlab算出《酒店价格预测模型》...
  5. 获取Python安装目录
  6. 宝岛探险1(DFS)
  7. SqlServer获取数据表字段自定义编号
  8. gpgga格式读取MATLAB,GPGGA格式解析
  9. comsol通直流电_基于COMSOL仿真的高压直流交联聚乙烯(XLPE)电缆附件设计
  10. CVX使用基础教程-结合官网教程翻译
  11. 强烈推荐:创业起步 八种赢利模式
  12. 深 入 认 识 WIN95 注 册 表
  13. 正态分布t个标准差范围内的概率
  14. HTML+CSS+Bootstrap+ECMAScript+DOM
  15. IDEA 设置自动启动的浏览器
  16. 安卓手机存储卡使用技巧。
  17. autoCAD 创建和编辑AutoCAD图元
  18. 中望3D2022 参考几何体
  19. 计算机房验收标准,机房标准工程验收标准和方法.doc
  20. 阿里云—岁末沙龙活动

热门文章

  1. 图片批量下载 +图片马赛克:多张图片组成端午安康!
  2. krpano plugin interface
  3. 产房深夜:8个月胎儿手臂畸形要流产,为保胎医生做了大胆决定
  4. 获取两个向量中间位置的点
  5. 小微企业都在用的一体化管理解决方案
  6. 社群运营怎么做更有效?
  7. dos命令之 assoc 用法详解
  8. 王者荣耀服务器维护多久结束,王者荣耀健康系统重置时间 时间限制规则详解...
  9. H3C模拟器 用户名包含非ASCII字符启动失败 解决方案/windows中文用户名修改
  10. pytorch-YOLOv3移植到寒武纪