首页 web前端 html教程 怎么绘制圆角环形图形

怎么绘制圆角环形图形

Nov 27, 2017 am 10:33 AM
图形 圆角

在很多进度条的形状上面的选择,大家都会选择环形图。那么今天就来教大家怎么用canvas怎么绘制圆角环形图,以及进度条模糊的解决方案,希望对你有所帮助

* @param {type} radius 圆环半径
* @param {type} lineWidth 圆环宽度
* @param {type} strokeStyle 默认背景
* @param {type} fillStyleArray 数组,圆环色块颜色
* @param {type} capType 类型:round是圆角,square正方形顶帽,butt是正常
* @param {type} percentArray ,数字,每个占据的百分比
* @param {type} startAngle 开始的角度
*  @param {type} criclex,cricley 圆心坐标,一般是canvas的一半,例如:canvas给的宽度是250,高度是250,那么criclex是125
登录后复制

使用方法

           var canvas = document.getElementById('canvas');
           var ctx = canvas.getContext('2d');
           var ring = new Ring("80", "25", "#ccc", ["#a1b91d", "#e9636a", "#e7ba21"], "round");
           ring.drawRing(ctx, 2 * Math.PI / 3, [20, 50, 30],125,125);//占据的百分比分别是20%,50%,30%
登录后复制


源代码


源代码很简单,欢迎大家扩展!

 function Circle(radius, lineWidth, strokeStyle, fillStyleArray, capType) {
   this.radius = radius;    // 圆环半径
   this.lineWidth = lineWidth;  // 圆环边的宽度
   this.strokeStyle = strokeStyle; //边的颜色
   this.fillStyle = fillStyleArray;  //填充色
   this.lineCap = capType;}Circle.prototype.draw = function (ctx,criclex,cricley) {
   ctx.beginPath();
   ctx.arc(criclex, cricley, this.radius, 0, Math.PI * 2, true);  // 坐标为90的圆,这里起始角度是0,结束角度是Math.PI*2
   ctx.lineWidth = this.lineWidth;
   ctx.strokeStyle = this.strokeStyle;
   ctx.stroke();  // 这里用stroke画一个空心圆,想填充颜色的童鞋可以用fill方法};function Ring(radius, lineWidth, strokeStyle, fillStyleArray, capType) {
   Circle.call(this, radius, lineWidth, strokeStyle, fillStyleArray, capType);}Ring.prototype = Object.create(Circle.prototype);Ring.prototype.drawRing = function (ctx, startAngle, percentArray ,criclex,cricley) {
   startAngle = startAngle || 3 * Math.PI / 2;
   percentArray = percentArray || [];
   this.draw(ctx,criclex,cricley);  // 调用Circle的draw方法画圈圈
   var _this = this;
   // angle
   percentArray.forEach(function (item, index) {
       ctx.beginPath();
       var anglePerSec = 2 * Math.PI / (100 / item); // 蓝色的弧度
       ctx.arc(criclex, cricley, _this.radius, startAngle, startAngle + anglePerSec, false); //这里的圆心坐标要和cirle的保持一致
       startAngle = startAngle + anglePerSec;
       ctx.strokeStyle = _this.fillStyle[index];
       ctx.lineCap = _this.lineCap;
       ctx.stroke();
       ctx.closePath();
   })
   //小圆圈覆盖
   ctx.beginPath();
   ctx.arc(criclex, cricley, _this.radius, startAngle, startAngle, false); //这里的圆心坐标要和cirle的保持一致
   ctx.strokeStyle = _this.fillStyle[0];
   ctx.lineCap = _this.lineCap;
   ctx.stroke();
   ctx.closePath();}
登录后复制

相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!


相关阅读:

CSS的编码怎么转换

CSS3怎么制作蝴蝶飞舞的动画

css3怎么实现图片封面展示的动画

以上是怎么绘制圆角环形图形的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

修改win11窗口边角为圆角的指南 修改win11窗口边角为圆角的指南 Dec 31, 2023 pm 08:35 PM

很多朋友更新好win11系统后,发现win11的界面窗口采用了全新的圆角设计。但是一些人觉得不喜欢这个圆角设计,想要将它修改为曾经的界面,但是却不知道怎么修改,下面就一起来看看吧。win11怎么修改圆角1、win11的圆角设计时内置的系统设置,目前无法修改。2、所以大家如果不喜欢使用win11的圆角设计的话,可以等待微软提供修改的方法。3、如果实在使用起来不习惯,还可以选择退回曾经的win10系统。4、如果大家不知道如何回退的话,可以查看本站提供的教程。5、要是使用上方教程无法进行回退的话,还可

win10搜索框圆角调整方法 win10搜索框圆角调整方法 Jan 15, 2024 pm 03:12 PM

win10搜索框可变圆角的消息已经有很长的时间,但一直没有实现,我们一般可以使用注册表体验一下win10搜索框变圆角,那么下面我们一起看看win10搜索框可变圆角教程吧。win10搜索框可变圆角:1、打开搜索框,输入regedit,进入注册表。2、计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search找到此路径。3、在空白处,选择新建——DWORD(32位)值——将新键命名为ImmersiveSearch——数

苹果M3 Ultra推出全新版本,新增32个CPU核心和80个GPU核心 苹果M3 Ultra推出全新版本,新增32个CPU核心和80个GPU核心 Nov 13, 2023 pm 11:13 PM

这款芯片可能会搭载高达80个GPU核心,进而成为M3系列中性能最强大的产品。Max两倍核心数量从M1与M2系列的发展模式来看,苹果的「Ultra」版芯片基本上是「Max」版本的两倍核心数量,这是因为苹果实际上将两颗Max芯片透过内部连接技术结合起来,形成了M1Ultra与M2Ultra。80个GPU核心M3Ultra可能拥有「高达80个图形处理核心」。这一预测基于苹果芯片的发展路径:从基础版到「Pro」版,再到图形核心数量翻倍的「Max」版,以及CPU和GPU核心都翻倍的「Ultra」版。举例来

PPT怎么组合两个图形 PPT怎么组合两个图形 Mar 20, 2024 pm 05:00 PM

大家好,今天我来给小伙伴们分享PPT怎么组合两个图形的具体操作步骤,大家按照这个步骤去做,一步一步就能学会了操作,以后就可以举一反三了,步骤详情就在下方,小伙伴们快来认真的看一看吧!1.首先,在电脑上打开一个PPT文档,然后新建一个PPT幻灯片,(如下图所示)。2.接着,在上方菜单栏项目【插入】中找到【形状】,并在形状的下拉框中选择需要导入的形状,(如下图红色圈出部分所示)。3.利用PPT的插入功能,依次将三角形和圆形两个形状插入至PPT中,并调整形状的大小和位置,(如下图红色箭头指向所示)。4

CSS绘制:如何实现简单的渐变图形效果 CSS绘制:如何实现简单的渐变图形效果 Nov 21, 2023 pm 04:51 PM

CSS绘制:实现简单的渐变图形效果在网页设计中,渐变图形效果是一种常见的视觉元素,可以为网站增添吸引人的外观和体验。在CSS中,我们可以利用渐变效果轻松地实现各种图形的渐变效果,包括矩形、圆形、文字等。本文将介绍如何使用CSS来实现简单的渐变图形效果,以及提供具体的代码示例。一、线性渐变线性渐变是指从一个点向另一个点方向渐变的效果。在CSS中,我们可以使用l

2020年amd显卡性能排名 2020年amd显卡性能排名 Jan 13, 2024 pm 08:54 PM

amd图形显卡排行1、Radeon需要重新写作的内容是:RX需要重新写作的内容是:6950XT2、Radeon需要重新写作的内容是:RX需要重新写作的内容是:6900XT需要重写的是:3、Radeon需要重新写作的内容是:RX需要重新写作的内容是:6800XT4、Radeon需要重新写作的内容是:RX需要重新写作的内容是:6800需要重写的是:5、Radeon需要重新写作的内容是:RX需要重新写作的内容是:6750XT6、Radeon需要重新写作的内容是:RX需要重新写作的内容是:6700XT7

解决win11没有圆角和通知的方法 解决win11没有圆角和通知的方法 Dec 31, 2023 pm 09:53 PM

更新了win11之后发现原先在win10系统上的通知不见了,里面也没有了圆角功能让很多用户都直呼用不习惯,所以今天就给你们带来了win11没有圆角没有通知解决方法,快来一起看看怎么操作吧。win11没有圆角没有通知怎么办:1、首先进入win11系统的桌面。2、然后点击桌面右下角的“!”选项。3、此时即可弹出圆角通知。4、每次使用的时候都必须和日历弹出这一点得到了很多用户的吐槽,但是由于win11系统还处于初期,后面慢慢的肯定会进行改善的。

CSS布局技巧:实现圆角卡片效果的最佳实践 CSS布局技巧:实现圆角卡片效果的最佳实践 Oct 20, 2023 am 11:10 AM

CSS布局技巧:实现圆角卡片效果的最佳实践引言:随着网页设计的不断发展,圆角卡片效果成为了现代化的网页设计中常见的元素之一。通过使用CSS布局技巧,我们能够轻松地为网页添加具有美观效果的圆角卡片。本文将介绍实现圆角卡片效果的最佳实践,并提供具体的代码示例供参考。一、使用CSS的border-radius属性创建圆角效果在CSS中,我们可以使用border-r

See all articles