「前端特效」----js生成的多彩旋转魔力画笔

效果图:在线效果图click here
在这里插入图片描述
代码:

<!-- html代码 -->
<canvas></canvas>
/* css代码 */
canvas{
	width:100vw;
	height:100vh;
	position:fixed;
	top:0;
	left:0;
	z-index:-9999;
}
<script>
	var ctx = doucment.querySelector('canvas').getContext('2d');
	
	function resize(canvas){
		var width = canvas.clientWidth;
		var height = canvas.clientHeight;
		if(width != canvas.clientWidth || height != canvas.clientHeight){
			canvas.clientWidth = width;
			canvas.clientHeight = height;
		}
	};
	function render(time){
		time *= 0.001;
		resize(ctx.canvas);
		var w = ctx.canvas.width;
		var h - ctx.canvas.height;
		var hw = w / 2;
		var hh = h / 2;
		
		ctx.clearRect(0,0,w,h);//清除画布中的元素;
		var grd = ctx.createLinearGradient(-400,0,400,0);//创建线性渐变
		grd.addColorStop(0,'#FF4843');//规定渐变对象中的颜色和停止位置;
		gre.addColorStop(0.2,"#FFBF43");//颜色可根据自己的喜好或需求改变
		gre.addColorStop(0.4,"#FBFF93");
		gre.addColorStop(0.6,"#79C975");
		gre.addColorStop(0.8,"#6A3072");
		gre.addColorStop(1,"#328BDC");
		
		ctx.fillStyle = grd;
		ctx.translate(hw,hh);//将图画映射到画布中央;
		for(var ii = 0;ii < 200; ii++){
			ctx.rotate(Math.sin(time*0.3)*0.5);//旋转当前绘图
			ctx.fillRect(-hw,-hh,w,h);//绘制图画;
			ctx.scale(0.9,0.9)//缩放当前绘图	
		}
		ctx.restore();//返回之前保存过的属性。
		requestAnimationFrame(render);
	};
	requestAnimationFrame(render);//相当于setInterval
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值