canvas之save组&beginpath组

本文介绍了Canvas的基本使用技巧,包括如何利用save和restore方法保存和恢复绘图状态,避免连续操作导致错位。同时,还解释了beginPath、stroke、closePath等方法的作用,帮助读者更好地理解和掌握Canvas绘图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习来源:http://www.cnblogs.com/huaan011/p/5651806.html


save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作。 

restore:用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响。

save是入栈,restore是出栈。

对canvas中特定元素的旋转平移等操作实际上是对整个画布进行了操作,所以如果不对canvas进行save以及restore,那么每一次绘图

都会在上一次的基础上进行操作,最后导致错位。


canvas中的绘制方法(如stroke,fill),都会以上一次beginPath之后的所有路径为基础进行绘制。比如stroke了两次,其实这两次都

是以第一次beginPath后的所有路径为基础画的。也就是说第一条路径我们stroke了两下。

closePath的意思不是结束路径,而是关闭路径,它会试图从(MoveTo点之后)当前路径的终点连一条路径到起点,让整个路径闭合起来。但是,这并不意味着它之后的路径就是新路径了!

总而言之,就是不要企图通过闭合现有路径来开始一条新路径,而开始一条新路径,以前的路径也不会闭合。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值