canvas之save组&beginpath组

学习来源: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点之后)当前路径的终点连一条路径到起点,让整个路径闭合起来。但是,这并不意味着它之后的路径就是新路径了!

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

你可能感兴趣的:(html5,canvas)