畫一段到(x,y)的橢圓弧. 橢圓弧的 x, y 軸半徑分別為 rx,ry. 橢圓相對於 x 軸旋轉 x-axis-rotation 度.
large-arc=0表明弧線小於180讀, large-arc=1表示弧線大於180度. sweep=0表明弧線逆時針旋轉,
sweep=1表明弧線順時間旋轉.
角度換算弧度:弧度的計算公式為: 2*π/360*角度三角形的正玄、余弦:數學公用庫math提供正玄函式sin(x)和余弦函式cos(x)注意:函式中的x 都是指的「弧度」而非「角度
解決思路:根據三角形的正玄、余弦來得值;現假設乙個圓的圓心座標是(a,b),半徑為r,
則圓上每個點的x座標=a + math.sin(2*math.pi / 360) * r ;y座標=b + math.cos(2*math.pi / 360) * r ;
/**
* 傳入相應引數返回圓形制定半徑的弧度座標
* @param x 中心點x座標
* @param y 中心點y座標
* @param r 圓半徑
* @param a 角度
*/function coordmap(x, y, r, a)
}/**
* 建立弧線
* @param data.startangle 開始角度
* @param data.endangle 結束角度
* @param data.r 圓半徑
* @param data.x 中心點x座標
* @param data.y 中心點y座標
* @param data.color 邊框顏色 預設#ccc
* @param data.strokewidth 邊框寬度 預設1
* @param data.strokelinecap 不同型別的路徑的開始結束點 可選值 butt round square 預設butt
* @param data.strokedasharray 虛線設定 它是乙個和數列,數與數之間用逗號或者
* 空白隔開,指定短劃線和缺口的長度。如果提供了奇數個值,則這個值的數列重複一次,從而變成偶數個值。因此,5,3,2等同於5,3,2,5,3,2。
* @param data.transform css3旋轉設定
*/function drawsvg(data)
/** * 畫進度條
* @param $select 容器
* @param size 多少步 共100步
*/function svgview($select, size) ));
// 步長
var step = (315 - 45) / 100,
i = 1;
// 畫第一步並加入svg中
startangle: 45,
endangle: 45 + step * i,
x: 120,
y: 130,
r: 90,
strokelinecap: 'round',
strokewidth: 10,
color: '#ffe400',
transform: 'rotate(-270, 120, 130)'
}));
// 寫入頁面
// 通過設定時間迴圈步
var tc = setinterval(function() ), svg.lastchild);
i++;
if (i > size)
}, 20);
};svgview('#svgview', 80);
SVG環形進度條
svg scalabe vetor graphics 可縮放向量圖作技術,發源自xml家族。其優秀方便的圖形表現形式,讓其被當下各大瀏覽器所支援。由於其中可內嵌於html,表現出像dom自身元素一樣的性質,而被廣泛的用於html中的圖形表現。今天我作為乙個小白,根據最近的專案經驗和大家分享乙個用sv...
svg 實現半環形進度條
path元素用來定義形狀的通用元素。下面的命令可用於路徑資料 注釋 以上所有命令均允許小寫字母。大寫表示絕對定位,小寫表示相對定位。例如 畫個圓環 解析 symbol元素用來定義乙個圖形模板物件,它可以用乙個元素例項化。symbol元素對圖形的作用是在同一文件中多次使用,新增結構和語義。結構豐富的文...
canvas 畫進度條
var circle01 document.queryselector mycanvas01 drawall 50,math.pi,circle01 function drawall percent,sr,canvasid if sr math.pi 2 sr 3 2 math.pi var cxt...