温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

canvas绘制星空

发布时间:2020-03-25 07:15:04 来源:网络 阅读:274 作者:素颜猪 栏目:开发技术

效果图

canvas绘制星空

html结构

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<title>canvas15</title>

<link rel="stylesheet" href="">

</head>

<body>

<canvas id="canvas" style ="border:1px solid #aaa;diplay:block;margin:50px auto;">

当前浏览器不支持canvas,请更换浏览器后再试

</canvas>

</body>

</html>

js脚本

<script>

window.onload = function(){

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


canvas.width  = 800;

canvas.height = 800;


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

// context.lineJoin = "bevel";

// context.lineJoin = "round";

// context.lineJoin = "miter";


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,r/2.0,r,x,y,a,10,"#fb3","#fb3");

}


}


function drawStar(context,r,R,x,y,rot,lineWidth,strokeStyle,fillStyle){

context.beginPath();


for(var i = 0;i<5;i++){

context.lineTo(Math.cos((18+i*72 - rot)/180 * Math.PI) * R + x,-Math.sin((18+i*72 - rot)/180*Math.PI)*R + y);

context.lineTo(Math.cos((54+i*72 - rot)/180 * Math.PI) * r + x,-Math.sin((54+i*72 - rot)/180*Math.PI)*r + y);

}


context.closePath();


context.fillStyle = fillStyle;

context.strokeStyle = strokeStyle;

context.lineWidth = lineWidth;

context.lineJoin = "miter";

context.fill();


context.stroke();

}

</script>

canvas绘制星空

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI