canvas的restore和save操做

在建立新的控件或修改現有的控件時,咱們都會涉及到重寫控件或View的onDraw方法。canvas

onDraw方法會傳入一個Canvas對象,它是你用來繪製控件視覺界面的畫布。spa

在onDraw方法裏,咱們常常會看到調用save和restore方法,它們究竟是幹什麼用的呢?rest

❑ save:用來保存Canvas的狀態。save以後,能夠調用Canvas的平移、放縮、旋轉、錯切、裁剪等操做。對象

❑ restore:用來恢復Canvas以前保存的狀態。防止save後對Canvas執行的操做對後續的繪製有影響。blog

save和restore要配對使用(restore能夠比save少,但不能多),若是restore調用次數比save多,會引起Error。遊戲

 

在讀Android SDK裏面的samples裏面遊戲的時候,不少時候都看到對canvas的save()和restore()運用。class

相關文章
相關標籤/搜索