canvas 中的rotate原地旋转的简单实现方法

rotate 画布旋转

ctx.rotate(60 * Math.PI /180) (旋转60度的简单公式)

rotate 旋转是以画布的左上角(0,0)的位置开始的
所以会导致旋转后画出来的图形旋转后位置不是自己想要的!

在这里插入图片描述
如果想让黑色矩形原地旋转60度就需要用到 translate

    ctx.strokeStyle ='red'
    ctx.strokeRect(40,40,60,60)
    ctx.save() // 保存当前状态 也就是画布原点在(0,0)
    ctx.translate(100,100) // 移动画布原点到(100,100) 因为黑色矩形的位置是在(100,100)
    ctx.rotate(60 * Math.PI / 180) // 旋转60度
    ctx.strokeStyle = '#000'
    ctx.strokeRect(0,0,30,30) // 因为画布原点到了原黑色矩形的坐标(100,100)所以黑色矩形的x,y 就要设置成(0,0)
    ctx.restore() // 回到之前保存的画布状态 以便不影响下次绘画

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九亿少女无法触及的梦ى

您的赞赏,对我来说意义非凡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值