为了账号安全,请及时绑定邮箱和手机立即绑定

绘制如图所示星空的效果该怎么做,求赐教

绘制如图所示星空的效果该怎么做,求赐教

收到一只叮咚 2018-07-12 10:07:31
绘制如图所示星空的效果,其中黑色矩形宽800像素、高400像素,在矩形范围内绘制200颗大小、位置、角度随机的黄色五角星。
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

<!DOCTYPE html>

<html>

<head>

    <title>5star</title>

    <script type="text/javascript">

        function draw() {

            var canvas=document.getElementById("canvas");

            var context=canvas.getContext("2d");

            context.fillStyle="black";

            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,x,y,r,r/2.3,a)

            }

        }

 

            function drawStar(cxt,x,y,r,R,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);

                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.fillStyle="yellow"

            cxt.closePath();

            cxt.fill();

        }

    </script>

</head>

<body onload="draw()";>

<canvas id="canvas" width="800" height="400">

    你的浏览器不支持Canvas

</canvas>

</body>

</html>


查看完整回答
反对 回复 2018-07-30
  • 1 回答
  • 0 关注
  • 1031 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信