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="canvas"></canvas> <script> var canvas = document.getElementById("canvas"); canvas.width = 600; canvas.height = 600; var ctx = canvas.getContext("2d"); var num = 0; var timer = setInterval(function() { if (num < 36) { num++; var rot = Math.random() * 30 + 10; var x = Math.cos(num * Math.PI / 180 * 10 + 90) * 180 + 200; var y = Math.sin(num * Math.PI / 180 * 10 + 90) * 180 + 300; var R = Math.ceil(Math.random() * 255); var G = Math.ceil(Math.random() * 255); var B = Math.ceil(Math.random() * 255); var color = "#" + R.toString(16) + "" + G.toString(16) + "" + B.toString(16); draw(ctx, 18, rot, x, y, { "strokeStyle": color, "lineWidth": "1", "fillStyle": color, "run": function(o) { o.fill(); } }) } else { clearInterval(timer); } }, 1000 / 60) function draw(ctx, width, rot, dy, dx, options) { if (!width) return false; var dy = dy || 0, dx = dx || 0, rot = rot || 0; ctx.beginPath(); for (var i = 0; i < 5; i++) { var deg1x = Math.cos((18 + i * 72) * Math.PI / 180 - rot) * width + dx; var deg1y = -Math.sin((18 + i * 72) * Math.PI / 180 - rot) * width + dy; var deg2x = Math.cos((54 + i * 72) * Math.PI / 180 - rot) * width / 2 + dx; var deg2y = -Math.sin((54 + i * 72) * Math.PI / 180 - rot) * width / 2 + dy; ctx.lineTo(deg1x, deg1y); ctx.lineTo(deg2x, deg2y); } if (options && typeof options == "object") { for (var i in options) { if (i != "run") { if (typeof options<i> == "string") { ctx<i> = options<i>; } } else if (typeof options<i> == "function") { options.run(ctx); } } } ctx.closePath(); ctx.stroke(); } </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
- css繪製圓形程式碼例項CSS
- svg繪製半圓程式碼例項SVG
- css五角星程式碼例項CSS
- SVG拖動繪製矩形程式碼例項SVG
- jQuery繪製網格效果程式碼例項jQuery
- CSS3繪製菱形程式碼例項CSSS3
- canvas刮刮樂程式碼例項Canvas
- css3繪製月牙效果程式碼例項CSSS3
- js按住滑鼠繪製線條程式碼例項JS
- javascript繪製心形圖案程式碼例項JavaScript
- css3繪製谷歌圖示程式碼例項CSSS3谷歌
- highcharts繪製柱狀圖程式碼例項