<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<canvas id="canvas" style="margin:0 auto;">
The current browser does not support Canvas, can replace the browser a try!
</canvas>
<script>
window.onload = function(){
var canvas = document.getElementById('canvas');
canvas.width = 1024;
canvas.height = 768;
if(canvas.getContext('2d')){
var context = canvas.getContext('2d');
context.fillStyle = "#000";
context.fillRect(0,0,canvas.width,canvas.height)
for(var i=0;i<200;i++){
var r = Math.random() * 10 + 10;
var x = Math.random() * canvas.width;
var y = Math.random() * canvas.height;
var a = Math.random() * 360;
drawStar(context , r , 2*r ,x , y , a )
}
}else{
alert('当前游览器不支持Canvas,请更换游览器后再试!');
}
}
// x,y是偏移量 rot 偏移量
function drawStar(cxt,r,R,x,y,rot){
cxt.beginPath();
for(var i=0;i<5;i++){
//假设大圆内径300
cxt.lineTo(Math.cos( (18+i*72 - rot) / 180 * Math.PI )*R+x,
-Math.sin( (18+i*72 - rot) / 180 * Math.PI )*R+y);
//假设小圆内径150
cxt.lineTo(Math.cos( (54+i*72 - rot) / 180 * Math.PI )*r+x,
-Math.sin( (54+i*72 - rot) / 180 * Math.PI )*r+y);
}
cxt.closePath();
cxt.fillStyle = "#fb3";
cxt.strokeStyle = "fd5";
cxt.lineWidth = 3;
cxt.lineJoin = "round"
cxt.fill();
cxt.stroke();
}
</script>
</body>
</html>