代码实例:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
canvas{
background:#eee;
}
</style>
<title>星星</title>
<meta charset="utf-8"> <script>
window.onload=function () {
var canvas=document.getElementById("canvas");
var cobj=canvas.getContext("2d"); var starArr=[];
for (var i=0; i<30; i++) {
var starObj={
radius1:20+10*Math.random(),radius2:8+7*Math.random(),x:30+(canvas.width-60)*Math.random(),y:30+(canvas.height-60)*Math.random(),num:Math.ceil(4+4*Math.random()),color:"rgb("+parseInt(255*Math.random())+","+parseInt(255*Math.random())+","+parseInt(255*Math.random())+")",angle:360*Math.random(),changeAngle:-5+10*Math.random()
}
starArr.push(starObj);
}
setInterval(function () {
cobj.clearRect(0,0,500,500);
for (var i=0; i<starArr.length; i++) {
starArr[i].angle+=starArr[i].changeAngle;
cobj.save();
cobj.beginPath();
cobj.translate(starArr[i].x,starArr[i].y);
cobj.rotate(starArr[i].angle*Math.PI/180);
cobj.scale(Math.sin(starArr[i].angle*Math.PI/180),Math.sin(starArr[i].angle*Math.PI/180))
cobj.globalAlpha=Math.abs(Math.sin(starArr[i].angle*Math.PI/180));
drawStar (0,0,starArr[i].radius1,starArr[i].radius2,starArr[i].num,"fill",starArr[i].color);
cobj.restore();
}
},60) function drawStar (x,y,radius1,radius2,num,drawType,color) {
var angle=360/(num*2);
var arr=[];
for (var i=0; i<num*2; i++) {
var starObj={};
if(i%2==0){
starObj.x=x+radius1*Math.cos(i*angle*Math.PI/180);
starObj.y=y+radius1*Math.sin(i*angle*Math.PI/180);
}else{
starObj.x=x+radius2*Math.cos(i*angle*Math.PI/180);
starObj.y=y+radius2*Math.sin(i*angle*Math.PI/180);
}
arr.push(starObj);
}
cobj.beginPath();
cobj.fillStyle=color;
cobj.strokeStyle=color;
cobj.moveTo(arr[0].x,arr[0].y);
for (var i=1; i<arr.length; i++) {
cobj.lineTo(arr[i].x,arr[i].y);
}
cobj.closePath();
if(drawType=="fill"){
cobj.fill();
}else{
cobj.stroke();
}
}
}
</script>
</head>
<body>
<canvas id="canvas" width=500 height=500>
</canvas>
</body>
</html>

  效果:

canvas 星星闪烁的效果的更多相关文章

  1. 怎么实现类似星星闪烁的效果(box-shadow)

    有时候设计希望我们能够在页面实现类似星星闪烁的效果,如图: 我的解决办法是用box-shadow: html <div class="star04 active-blink" ...

  2. 原生js实现星星闪烁的效果

    星星闪烁的原理其实很简单: html代码: <body style="background:#000"> <div id="stars_box" ...

  3. JS框架_(JQuery.js)夜晚天空满天星星闪烁动画

    百度云盘 传送门 密码:xftr 满天星星闪烁动画效果: (可用星空动画来作为页面背景,白色文字改为文章或者其他的O(∩_∩)O) <!doctype html> <html> ...

  4. 酷!使用 jQuery & Canvas 制作相机快门效果

    在今天的教程中,我们将使用 HTML5 的 Canvas 元素来创建一个简单的摄影作品集,它显示了一组精选照片与相机快门的效果.此功能会以一个简单的 jQuery 插件形式使用,你可以很容易地整合到任 ...

  5. 如何使用 HTML5 Canvas 制作水波纹效果

    今天,我们继续分享 JavaScript 实现的效果例子,这篇文章会介绍使用 JavaScript 实现水波纹效果.水波效果以图片为背景,点击图片任意位置都会触发.有时候,我们使用普通的 Javasc ...

  6. Canvas之动态波浪效果_陈在真Sunny_chen_新浪博客

    Canvas之动态波浪效果_陈在真Sunny_chen_新浪博客 Canvas之动态波浪效果 (2012-04-26 09:04:51) 转载▼

  7. canvas动态小球重叠效果

    前面的话 在javascript运动系列中,详细介绍了各种运动,其中就包括碰壁运动.但是,如果用canvas去实现,却是另一种思路.本文将详细介绍canvas动态小球重叠效果 效果展示 静态小球 首先 ...

  8. 基于HTML5 Canvas可撕裂布料效果

    分享一款布料效果的 HTML5 Canvas 应用演示,效果逼真.你会看到,借助 Canvas 的强大绘图和动画功能,只需很少的代码就能实现让您屏息凝神的效果. 在线预览   源码下载 实现的代码. ...

  9. 高逼格UILabel的闪烁动画效果

    高逼格UILabel的闪烁动画效果 最终效果图如下: 源码: YXLabel.h 与  YXLabel.m // // YXLabel.h // // Created by YouXianMing o ...

随机推荐

  1. UIWebView和WKWebView一些琐事

    WebViewJavascriptBridge 1.load加载 ,去本地查找html路径方式 NSString* htmlPath = [[NSBundle mainBundle] pathForR ...

  2. 基于Nginx和uWSGI在Ubuntu上部署Django项目

    前言: 对于做Django web项目的童鞋,重要性不言而喻. 参考:https://www.cnblogs.com/alwaysInMe/p/9096565.html https://blog.cs ...

  3. 【转】Django-template模板语言

    Django-template模板语言 转自:https://www.cnblogs.com/zzy-9318/p/8672945.html 一.常用语法 只需要记两种特殊符号: {{  }}和 {% ...

  4. 让VirtualBox虚拟机实现开机自动后台运行

    转至:http://www.cnblogs.com/top5/archive/2012/01/19/2326234.html 测试环境:Host OS: Windows 7 x64 Guest OS: ...

  5. 2019 上海网络赛 F Rhyme scheme (字典树DP)

    题目:https://nanti.jisuanke.com/t/41414 题意:求长度为n的第k个bell number  ,  就是第i位的选取范围在 1-(i-1)位的最大值 +1,第一位固定为 ...

  6. 杂项-SAP:SAP (服务访问点(Service Accessing point))

    ylbtech-杂项-SAP:SAP (服务访问点(Service Accessing point)) 1.返回顶部 1. SAP,是Service Accessing point的缩写,意思是服务访 ...

  7. pycharm5.0.4简易使用说明

    前言:学习自动化,需要使用pycharm,以下是简易使用说明 1.注册破解 2.行号和背景色 3.打断点 1.注册破解 打开pycharm5.0.4,点击菜单栏的help->register.. ...

  8. 使用母版页的Web窗体不走Page_Load

    原因:母版页--->属性--->生成--->输出路径,这里我将它的默认/bin路径更改了,所以才导致使用此母版页的其它页面也不走Page_Load方法 解决:改回默认的输出路径

  9. 排序算法四:快速排序(Quicksort)

    快速排序(Quicksort),因其排序之快而得名,虽然Ta的平均时间复杂度也是O(nlgn),但是从后续仿真结果看,TA要比归并排序和堆排序都要快. 快速排序也用到了分治思想. (一)算法实现 pr ...

  10. php编程怎么和mysql连接

    php连接mysql的方法: MySQLi - 面向对象 MySQLi - 面向过程 关闭连接 连接在脚本执行完后会自动关闭.你也可以使用以下代码来关闭连接: (MySQLi - 面向对象 MySQL ...