绘制星空

来源:互联网 发布:武汉java培训机构排名 编辑:程序博客网 时间:2024/04/29 02:45
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    </body>
</html><!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    <canvas id="canvas" style="border:1px solid black;margin:0 auto;display:block;">
    浏览器不支持
    </canvas>
    <script>
    window.onload=function()
    {
    var canvas=document.getElementById("canvas");
    var cxt=canvas.getContext("2d");


    canvas.width=800;
    canvas.height=800;


    //drawStar(cxt,150,300,400,400,0);
    cxt.fillStyle="black";
    cxt.fillRect(0, 0, canvas.width,canvas.height);
    //cxt.lineJoin="bevel";
    //cxt.miterLimit=80;
    //
   
    cxt.fillStyle="pink";
    cxt.lineJoin="round";
    cxt.fill();
    cxt.stroke();




    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(cxt,r,r,x,y,a);
    }
    }
    function drawStar(cxt,r,R,x,y,rot)
    {
    cxt.beginPath();
    for(var i=0;i<5;i++)
    {
    cxt.lineTo(Math.cos((18+i*72-rot)/180*Math.PI)*R+x, -Math.sin((18+i*72-rot)/180*Math.PI)*R+y);//横坐标前部分是角度转弧度,大圆半径暂定300,
    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="rgba(0,236,0,0.5)";
    cxt.lineJoin="round";
    cxt.fill();
    cxt.stroke();}
    </script>
    </body>
</html>
0 0
原创粉丝点击