canvas繪製扇形程式碼例項
分享一段程式碼例項,它實現了繪製扇形的功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> canvas { border:2px dotted #ccc; } </style> </head> <body> <canvas id="cvs" width="550" height="450"></canvas> <script type="text/javascript"> function sector(x, y, radius, sDeg, eDeg) { // 初始儲存 this.save(); // 位移到目標點 this.translate(x, y); this.beginPath(); // 畫出圓弧 this.arc(0, 0, radius, sDeg, eDeg); // 再次儲存以備旋轉 this.save(); // 旋轉至起始角度 this.rotate(eDeg); // 移動到終點,準備連線終點與圓心 this.moveTo(radius, 0); // 連線到圓心 this.lineTo(0, 0); // 還原 this.restore(); // 旋轉至起點角度 this.rotate(sDeg); // 從圓心連線到起點 this.lineTo(radius, 0); this.closePath(); // 還原到最初儲存的狀態 this.restore(); } var ctx = document.getElementById('cvs').getContext('2d'); //扇形 CanvasRenderingContext2D.prototype.sector = function(x, y, radius, sDeg, eDeg) { // 初始儲存 this.save(); // 位移到目標點 this.translate(x, y); this.beginPath(); // 畫出圓弧 this.arc(0, 0, radius, sDeg, eDeg); // 再次儲存以備旋轉 this.save(); // 旋轉至起始角度 this.rotate(eDeg); // 移動到終點,準備連線終點與圓心 this.moveTo(radius, 0); // 連線到圓心 this.lineTo(0, 0); // 還原 this.restore(); // 旋轉至起點角度 this.rotate(sDeg); // 從圓心連線到起點 this.lineTo(radius, 0); this.closePath(); // 還原到最初儲存的狀態 this.restore(); return this; } var deg = Math.PI / 180; ctx.sector(100, 100, 80, 30 * deg, 111 * deg).fill(); ctx.fillStyle = "#f00"; ctx.sector(100, 100, 80, 111 * deg, 190 * deg).fill(); ctx.fillStyle = "#0f0"; ctx.sector(100, 100, 80, 190 * deg, 233 * deg).fill(); ctx.fillStyle = "#00f"; ctx.sector(100, 100, 80, 233 * deg, 280 * deg).fill(); ctx.fillStyle = "#789"; ctx.sector(100, 100, 80, 280 * deg, 345 * deg).fill(); ctx.fillStyle = "#abcdef"; ctx.sector(100, 100, 80, 345 * deg, 30 * deg).fill(); </script> </body> </html>
相關文章
- canvas 繪製扇形Canvas
- canvas繪製星星程式碼例項Canvas
- canvas 繪製雞蛋程式碼例項Canvas
- canvas繪製網格程式碼例項Canvas
- canvas繪製笑臉程式碼例項Canvas
- canvas繪製圓環效果程式碼例項Canvas
- canvas繪製米字旗程式碼例項Canvas
- canvas繪製箭頭效果程式碼例項Canvas
- canvas繪製拋物線程式碼例項Canvas線程
- canvas繪製機器貓程式碼例項Canvas
- canvas繪製夜空小屋效果程式碼例項Canvas
- canvas繪製鐘錶效果程式碼例項Canvas
- canvas繪製圓角矩形程式碼例項Canvas
- canvas繪製橢圓效果程式碼例項Canvas
- canvas繪製熊貓頭像程式碼例項Canvas
- canvas繪製魚吃豆效果程式碼例項Canvas
- canvas繪製雪花飄落效果程式碼例項Canvas
- canvas繪製圓形鐘錶程式碼例項Canvas
- canvas繪製實心圓形程式碼例項Canvas
- canvas繪製網狀圓圈程式碼例項Canvas
- canvas繪製機器貓頭像程式碼例項Canvas
- canvas繪製矩形並填充顏色程式碼例項Canvas
- canvas繪製貝濟埃曲線程式碼例項Canvas線程
- canvas繪製憤怒小鳥形象程式碼例項Canvas
- HTML5利用canvas繪製矩形程式碼例項HTMLCanvas
- canvas繪製五角星程式碼例項Canvas
- canvas繪製帶有刻度的座標系程式碼例項Canvas
- css繪製圓形程式碼例項CSS
- svg繪製半圓程式碼例項SVG
- 純 Css 繪製扇形CSS
- SVG拖動繪製矩形程式碼例項SVG
- jQuery繪製網格效果程式碼例項jQuery
- CSS3繪製菱形程式碼例項CSSS3
- canvas刮刮樂程式碼例項Canvas
- css3繪製月牙效果程式碼例項CSSS3
- js按住滑鼠繪製線條程式碼例項JS
- javascript繪製心形圖案程式碼例項JavaScript
- CSS3 扇形導航選單程式碼例項CSSS3