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>
相關文章
- 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
- SwiftUI 官方畫圖例項詳細解析SwiftUI
- canvas 例項之鬧鐘Canvas
- CSS3圖層陰影程式碼例項CSSS3
- dom操作程式碼例項
- css梯形程式碼例項CSS
- canvas畫圖採坑Canvas
- 網頁引用百度地圖例項程式碼網頁地圖
- 網頁中嵌入百度地圖程式碼例項網頁地圖
- 設計模式例項程式碼設計模式
- JavaScript in運算子程式碼例項JavaScript
- table表格美化程式碼例項
- 純css tab選項卡程式碼例項CSS
- jQuery tab選項卡效果程式碼例項jQuery
- CSS3繪製太極圖程式碼例項詳解CSSS3
- 可擴充套件物件導向的canvas畫圖程式套件物件Canvas
- 微信小程式(canvas)畫圖儲存到本地相簿(wepy)微信小程式Canvas
- CSS 隔行變色程式碼例項CSS
- HTML5 拖拽程式碼例項HTML
- JavaScript 阻止事件冒泡程式碼例項JavaScript事件
- [例項分割]Condinst程式碼筆記筆記
- CSS空心箭頭程式碼例項CSS
- JavaScript運動框架程式碼例項JavaScript框架
- jQuery.map()方法程式碼例項jQuery
- CSS橢圓效果程式碼例項CSS
- CSS條紋背景程式碼例項CSS
- flex居中佈局程式碼例項Flex
- JavaScript取餘數程式碼例項JavaScript
- table細線表格例項程式碼