canvas畫圖程式碼例項
利用canvas可以實現繪圖效果,下面就是一段這樣的程式碼例項和大家分享一下。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> </head> <body> <canvas id="myCanvas" width="600" height="400">您的瀏覽器不支援Canvas,請升級瀏覽器!</canvas> <script type = "text/javascript" > var canvas = document.getElementById('myCanvas');/*獲取定義的畫布*/ var ctx = canvas.getContext('2d');/*利用2維環境中進行繪畫*/ drawPlayButton(ctx,200,200); drawPlayButton(ctx,400,200); drawPlayButton(ctx,300,200); function drawPlayButton(_context,x,y){ var nRadius=30;//半徑 _context.save(); _context.translate(x,y); //構造線變 var yellowGrad=_context.createLinearGradient(30,0,0,30); yellowGrad.addColorStop(0,'#fccb02'); yellowGrad.addColorStop(0.5,'#fbf14d'); yellowGrad.addColorStop(1,'#ffcb02'); var blueGrad=_context.createLinearGradient(30,0,0,30); blueGrad.addColorStop(0, '#2a459c'); blueGrad.addColorStop(0.5, '#0e7adc'); blueGrad.addColorStop(1, '#2a459e'); var redGrad=_context.createLinearGradient(30,0,0,30);//通過rotate來旋轉 redGrad.addColorStop(0, '#d0372f'); redGrad.addColorStop(0.5, '#e0675e'); redGrad.addColorStop(1, '#ce392d'); var greenGrad=_context.createLinearGradient(30,0,0,30);//通過rotate來旋轉 greenGrad.addColorStop(0, '#059700'); greenGrad.addColorStop(0.5, '#02e003'); greenGrad.addColorStop(1, '#019a02'); //繪製兩弧夾角內容 drawCake(_context,0,yellowGrad,nRadius); drawCake(_context,Math.PI/2,blueGrad,nRadius); drawCake(_context,Math.PI,redGrad,nRadius); drawCake(_context,3*Math.PI/2,greenGrad,nRadius); //內圓顏色 var lingrad =_context.createLinearGradient(-30,-30,30,30); lingrad.addColorStop(0,'#4672df'); lingrad.addColorStop(0.2,'#6188e5'); lingrad.addColorStop(0.5,'#98b1ef'); lingrad.addColorStop(0.8,'#b1c3f2'); lingrad.addColorStop(1, '#eaedfc'); _context.save(); _context.beginPath();//內圓 _context.fillStyle=lingrad; _context.arc(0,0,nRadius-10,0,Math.PI*2,true); _context.fill(); _context.closePath(); _context.restore(); //繪製三角 var trianglerad=_context.createLinearGradient(-6,-10,-6,10); trianglerad.addColorStop(0, '#99d4ea'); trianglerad.addColorStop(0.2, '#5e8fdd'); trianglerad.addColorStop(0.5, '#0f17a1'); trianglerad.addColorStop(0.8, '#4c65cc'); trianglerad.addColorStop(1, '#7299e5'); _context.beginPath(); _context.fillStyle=trianglerad; _context.moveTo(12,0); _context.lineTo(-6,10); _context.lineTo(-6,-10); _context.fill(); _context.restore(); } //繪畫一個扇形 function drawCake(_context,_nRotateAngle,_fillColor,_nRadius){ _context.save(); _context.beginPath(); _context.fillStyle=_fillColor; _context.rotate(_nRotateAngle); _context.moveTo(_nRadius-10,0); _context.lineTo(_nRadius,0);//向右畫一根線 _context.arc(0,0,_nRadius,0,Math.PI/2,false); _context.lineTo(0,_nRadius-10);//向上畫一個 _context.arc(0,0,_nRadius-10,Math.PI/2,0,true); //逆時針畫內弧 _context.fill(); _context.closePath(); _context.restore(); } </script> </body> </html>
相關文章
- angularJS結合canvas實現的畫圖程式碼例項AngularJSCanvas
- canvas刮刮樂程式碼例項Canvas
- canvas實現的簡單畫板效果程式碼例項Canvas
- canvas小遊戲程式碼例項Canvas遊戲
- canvas火焰效果程式碼例項Canvas
- canvas實現的圖片縮放程式碼例項Canvas
- canvas繪製扇形程式碼例項Canvas
- canvas繪製星星程式碼例項Canvas
- canvas字母雨效果程式碼例項Canvas
- canvas載入效果程式碼例項Canvas
- canvas 繪製雞蛋程式碼例項Canvas
- canvas縮放div程式碼例項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 translate()、scale()和rotate()方法程式碼例項Canvas
- canvas繪製拋物線程式碼例項Canvas線程
- canvas繪製機器貓程式碼例項Canvas
- canvas繪製夜空小屋效果程式碼例項Canvas
- canvas流星劃過星空效果程式碼例項Canvas
- canvas繪製鐘錶效果程式碼例項Canvas
- canvas繪製圓角矩形程式碼例項Canvas
- canvas實現的美猴王程式碼例項Canvas