真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán)-創(chuàng)新互聯(lián)

這期內容當中小編將會給大家?guī)碛嘘P使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán),文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡程序員、網(wǎng)頁設計師等,應用各種網(wǎng)絡程序開發(fā)技術和網(wǎng)頁設計技術配合操作的協(xié)同工作。成都創(chuàng)新互聯(lián)公司專業(yè)提供做網(wǎng)站、網(wǎng)站設計,網(wǎng)頁設計,網(wǎng)站制作(企業(yè)站、響應式網(wǎng)站、電商門戶網(wǎng)站)等服務,從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗的提升,我們力求做到極致!

一、定義變量

定義半徑,定義圓環(huán)厚度,定義圓心位置、定義默認填充顏色

let radius = 75
let thickness= 10
let innerRadius = radius - thickness
let x = 75
let y = 75
var canvas = document.getElementById('tutorial');
var ctx = canvas.getContext('2d');
ctx.fillStyle = "#f2d7d7";

二、畫第一個圓弧

ctx.beginPath();
ctx.arc(x, y, radius, Math.PI * 1.5, Math.PI)

使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán)

注意 beginPath() 這個方法,生成路徑的第一步。本質上,路徑是由很多子路徑構成,這些子路徑都是在一個列表中,所有的子路徑(線、弧形、等等)構成圖形。而每次這個方法調用之后,列表清空重置,然后我們就可以重新繪制新的圖形。

也就是說,這個方法可以用來給 Canvas圖像 分組,繪制新的圖形如果不調用此方法,那么新的圖形會和前面的圖形連接在一起

三、畫第一個連接處

ctx.quadraticCurveTo((x - innerRadius) - thickness / 2, y - thickness, x - innerRadius, y)

使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán)

連接外是用二次貝塞爾曲線來畫的,Canvas的 quadraticCurveTo(cp1x, cp1y, x, y) 方法接受4個參數(shù),第一、二個參數(shù)為控制點,第三、四個參數(shù)為結束點官方文檔
只需算出控制點和結束點,就可以畫出一個圓弧

四、畫第二個圓弧

ctx.arc(x, y, innerRadius, Math.PI, Math.PI * 1.5, true)

使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán)

注意方法后面最后一個參數(shù),設置為true,代表逆時針繪制(默認是順時針)

五、畫第二個連接處

ctx.quadraticCurveTo(y - thickness, (x - innerRadius) - thickness / 2, x, y - innerRadius - thickness)

使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán)

這一步其實和第三步相差不大,簡單的調換了下參數(shù)位置

六、填充

 ctx.fill();

使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán)

至此,一個簡單的未閉合的圓環(huán)就完成了

畫第二個進度條圓環(huán)

七、初始化

ctx.beginPath();
ctx.fillStyle = "#e87c7c";

beginPath 表示繪制新的圖形,如果不調用此方法,那后面畫的圖形會和前面畫的圖形連在一起

八、繪制第二個進度條圓環(huán)

ctx.beginPath();
ctx.fillStyle = "#e87c7c";
ctx.arc(x, y, radius, Math.PI * 1.5, Math.PI * 2)
ctx.quadraticCurveTo((x + innerRadius) + thickness / 2, y + thickness, x + innerRadius, y)
ctx.arc(x, y, innerRadius, Math.PI * 2, Math.PI * 1.5, true)
ctx.quadraticCurveTo(y - thickness, (x - innerRadius) - thickness / 2, x, y - innerRadius - thickness)

ctx.fill();

使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán)

由于和第一個圓環(huán)繪制方式一模一樣,就不在重復了,區(qū)別僅僅是圓的弧度

九、旋轉 Canvas

transform: rotate(-135deg);

使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán)

由于css的旋轉比較方便,也省去了角度的計算,所以本人使用的是css的transform來旋轉的。當然 Canvas 也提供了旋轉的方法

完整代碼




    
    
    
    canvas
    



    
        
        100 分 
        服務分
    
    

上述就是小編為大家分享的使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán)了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章名稱:使用Canvas怎么繪制一個未閉合的帶進度條圓環(huán)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://weahome.cn/article/djiihe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部