Canvas之代码雨
Posted 16699qq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Canvas之代码雨相关的知识,希望对你有一定的参考价值。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
overflow: hidden;
}
canvas{
/* border: 1px solid red; */
overflow: hidden;
}
.img{
width: 31.25rem;
height: 20.625rem;
/* 背景图片 */
background-image: url(img/lADPD3lGq8dJ2dnNAU3NAfQ_500_333.jpg);
border-radius:50%;
/* 定位 */
position: absolute;
left: 45.5625rem;
top: 16rem;
opacity: 0.3;
}
</style>
</head>
<body>
<div class="img">
</div>
<canvas id="canvas"></canvas>
</body>
<script type="text/javascript">
//找画布
var canvas=document.getElementById("canvas");
//找到笔
var context=canvas.getContext("2d");
//获取浏览器文档区域的宽度
var w=window.innerWidth;
//获取....高度
var h=window.innerHeight;
//把获取到的宽度和高度赋值canvas
canvas.width=w;
canvas.height=h;
//开始绘图
context.beginPath();
//思考?能允许多少字母下滑
var fontsize=12;
//列数
var count=Math.floor(w/fontsize);
var str="I ILVE YOU";
//创建一个数组
var arr=[];
for(var i=0;i<count;i++){
arr.push(0);
}
// // //绘制背景
// context.fillStyle="rgba(0,0,0,0.05)";
// context.fillRect(0,0,w,h);
var show=function(){
// //绘制背景 rgba透明
context.fillStyle="rgba(0,0,0,0.05)";
context.fillRect(0,0,w,h);
//再页面上添加一个文字颜色
context.fillStyle="greenyellow";
// 粗细 大小 样式
context.font=‘700 ‘+fontsize+‘px 宋体‘;
for (var i = 0; i <count; i++) {
var index=Math.floor(Math.random()*str.length);
var x=i*fontsize;
var y=arr[i]*fontsize;
context.fillText(str[index],x,y);
if(y>h&& Math.random()>0.99){
arr[i]=0;
}
arr[i]++;
}
}
//JS中的计时器,每隔多少毫秒执行一次
setInterval(show,30);
//结束绘图
context.closePath();
</script>
</html>
以上是关于Canvas之代码雨的主要内容,如果未能解决你的问题,请参考以下文章
自己定义View时,用到Paint Canvas的一些温故,简单的帧动画(动画一 ,"掏粪男孩Gif"顺便再提提onWindowFocusChanged)(代码片段