怎麼繪製圓角環形圖形
在很多進度條的形狀上面的選擇,大家都會選擇環形圖。那麼今天就來教大家怎麼用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中文網其它相關文章!
相關閱讀:
#以上是怎麼繪製圓角環形圖形的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

很多朋友更新好win11系統後,發現win11的介面視窗採用了全新的圓角設計。但是有些人覺得不喜歡這個圓角設計,想要將它修改為曾經的介面,但卻不知道怎麼修改,下面就一起來看看吧。 win11怎麼修改圓角1、win11的圓角設計時內建的系統設置,目前無法修改。 2.所以大家如果不喜歡使用win11的圓角設計的話,可以等微軟提供修改的方法。 3.如果實在使用起來不習慣,還可以選擇退回曾經的win10系統。 4.如果大家不知道如何回退的話,可以查看本站提供的教學。 5.如果使用上方教學無法回退的話,還可

這款晶片可能搭載高達80個GPU核心,進而成為M3系列中效能最強大的產品。 Max兩倍核心數量從M1與M2系列的發展模式來看,蘋果的「Ultra」版晶片基本上是「Max」版本的兩倍核心數量,這是因為蘋果實際上將兩顆Max晶片透過內部連接技術結合起來,形成了M1Ultra與M2Ultra。 80個GPU核心M3Ultra可能擁有「高達80個圖形處理核心」。這項預測是基於蘋果晶片的發展路徑:從基礎版到「Pro」版,再到圖形核心數量翻倍的「Max」版,以及CPU和GPU核心都翻倍的「Ultra」版。舉例來

win10搜尋框可變圓角的訊息已經有很長的時間,但一直沒有實現,我們一般可以使用註冊表體驗一下win10搜尋框變圓角,那麼下面我們一起看看win10搜尋框可變圓角教程吧。 win10搜尋框可變圓角:1、開啟搜尋框,輸入regedit,進入登錄。 2、電腦\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search找到此路徑。 3.在空白處,選擇新建-DWORD(32位元)值-將新鍵命名為ImmersiveSearch-數

大家好,今天我來給小伙伴們分享PPT怎麼組合兩個圖形的具體操作步驟,大家按照這個步驟去做,一步一步就能學會了操作,以後就可以舉一反三了,步驟詳情就在下方,小夥伴們快來認真的看一看吧! 1.首先,在電腦上開啟一個PPT文檔,然後新建一個PPT投影片,(如下圖所示)。 2.接著,在上方選單列項目【插入】中找到【形狀】,並在形狀的下拉框中選擇需要匯入的形狀,(如下圖紅色圈出部分所示)。 3.利用PPT的插入功能,依序將三角形和圓形兩個形狀插入至PPT中,並調整形狀的大小和位置,(如下圖紅色箭頭指向所示)。 4

CSS繪製:實現簡單的漸層圖形效果在網頁設計中,漸層圖形效果是一種常見的視覺元素,可以為網站增添吸引人的外觀和體驗。在CSS中,我們可以利用漸層效果輕鬆實現各種圖形的漸層效果,包括矩形、圓形、文字等。本文將介紹如何使用CSS來實現簡單的漸層圖形效果,以及提供具體的程式碼範例。一、線性漸變線性漸層是指從一個點向另一個點漸變的效果。在CSS中,我們可以使用l

amd圖形顯示卡排行1、Radeon需要重新寫作的內容是:RX需要重新寫作的內容是:6950XT2、Radeon需要重新寫作的內容是:RX需要重新寫作的內容是:6900XT需要重寫的是:3、Radeon需要重新寫作的內容是:RX需要重新寫作的內容是:6800XT4、Radeon需要重新寫作的內容是:RX需要重新寫作的內容是:6800需要重寫的是:5、Radeon需要重新寫作的內容是: RX需要重新寫作的內容是:6750XT6、Radeon需要重新寫作的內容是:RX需要重新寫作的內容是:6700XT7

CSS版面技巧:實現圓角卡片效果的最佳實務引言:隨著網頁設計的不斷發展,圓角卡片效果成為了現代化的網頁設計中常見的元素之一。透過使用CSS佈局技巧,我們能夠輕鬆地為網頁添加具有美觀效果的圓角卡片。本文將介紹實現圓角卡片效果的最佳實踐,並提供具體的程式碼範例供參考。一、使用CSS的border-radius屬性建立圓角效果在CSS中,我們可以使用border-r

更新了win11之後發現原先在win10系統上的通知不見了,裡面也沒有了圓角功能讓很多用戶都直呼用不習慣,所以今天就給你們帶來了win11沒有圓角沒有通知解決方法,快來一起看看怎麼操作吧。 win11沒有圓角沒有通知怎麼辦:1.先進入win11系統的桌面。 2、然後點選桌面右下角的「!」選項。 3.此時即可彈出圓角通知。 4.每次使用的時候都必須和日曆彈出這一點得到了很多用戶的吐槽,但是由於win11系統還處於初期,後面慢慢的肯定會進行改善的。
