用HTML5绘制的一个星空特效图

2023-06-05,,

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用HTML5绘制的一个星空特效图</title>
<style>
canvas{
display: block;border:1px dotted skyblue;
}
body{
font-family: 微软雅黑;
} </style>
</head>
<body>
<h1>用HTML5绘制的一个星空特效图</h1>
<canvas id="canvas" width="" height=""> </canvas>
<script>
var nimo={};
window.onload=function(){
nimo.canvas=document.getElementById('canvas');
nimo.context=nimo.canvas.getContext('2d'); nimo.starBgImg=new Image();
nimo.starBgImg.src='http://sandbox.runjs.cn/uploads/rs/167/znddwgfj/star-bg.jpg';
nimo.starBgImg.onload=function(){ //填充星星背景
nimo.statBg=nimo.context.createPattern(nimo.starBgImg,'repeat')
nimo.context.rect(,,nimo.canvas.width,nimo.canvas.height);
nimo.context.fillStyle=nimo.statBg;
nimo.context.fill(); //绘制月亮轮廓
nimo.context.beginPath();
nimo.context.arc(,,,0.6*Math.PI,1.3*Math.PI);
nimo.context.bezierCurveTo(,,,,,) //填充月亮轮廓和设置投影
nimo.context.shadowColor="blue";
nimo.context.shadowBlur=;
nimo.context.strokeStyle="blue";
nimo.context.stroke(); //填充放射渐变给月亮
nimo.radialGradient=nimo.context.createRadialGradient(,,,,,);
nimo.radialGradient.addColorStop(,'white')
nimo.radialGradient.addColorStop(,'#999')
nimo.context.fillStyle=nimo.radialGradient;
nimo.context.fill() //绘制月亮的研究和嘴巴
nimo.context.shadowColor="white";
nimo.context.beginPath();
nimo.context.moveTo(,);
nimo.context.lineTo(,);
nimo.context.moveTo(,);
nimo.context.lineTo(,);
nimo.context.stroke(); nimo.context.beginPath();
nimo.context.arc(,,,,*Math.PI);
nimo.context.stroke();
nimo.context.shadowColor='transparent';
nimo.context.font="14px 微软雅黑"
nimo.context.fillText('好挫的月亮!',,)
} } </script>
<p>
demo by <a href="http://js.alixixi.com/">js.alixixi.com</a>
</p>
</body>
</html>

用HTML5绘制的一个星空特效图的相关教程结束。

《用HTML5绘制的一个星空特效图.doc》

下载本文的Word格式文档,以方便收藏与打印。