canvas的旋转和缩放

1.旋转加缩放

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>旋转加缩放的小方块</title>
		<style>
			body{
				background: black;
			}
			canvas{
				background: #fff;
			}
		</style>
	</head>
	<body>
		<canvas id="canvas" width="400" height="400">
			
		</canvas>
		<script>
			var oC = document.getElementById("canvas")
			var oGC = oC.getContext("2d")
			var num = 0
			var num2 = 0
			var value = 1
			
			setInterval(function(){//设置一个定时器
				num++
				if(num2==200){
					value=-1
				}else if(num2==0){
					value = 1
				}
				num2+=value
				oGC.save()//保存路径
				oGC.beginPath()
				oGC.clearRect(0,0,oC.width,oC.height)//删除一个矩形画布
				oGC.translate(200,200)//平移
				oGC.scale(num2/50,num2/50)//渐渐放大和缩小
				oGC.rotate(num*Math.PI/180,num*Math.PI/180)//旋转
				oGC.translate(-50,-50)
				oGC.fillRect(0,0,100,100)
				oGC.closePath()
				oGC.restore()//回复路径
			},30)
		</script>
	</body>
</html>

一.获取到画布并设置2d环境。

二.因为要设置定时器所有先设置几个变量。

三.设置一个定时器。

四.先让num++做一个判断num2最大200px(控制缩放大小)。

五.保存路径和回复路径,开始路径和闭合路径。

六.删除画布将阴影删除。

七.将num2带入scale实现缩放。

八.将num带入rotate实现旋转。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值