天天看點

《HTML5 canvas開發詳解(第2版)》——2.3 Canvas狀态

本節書摘來自異步社群《html5 canvas開發詳解(第2版)》一書中的第2章,第2.3節,作者: 【美】steve fulton , jeff fulton 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

在canvas環境中繪圖時,可以利用所謂的繪圖堆棧狀态。每個狀态随時存儲canvas上下文資料。下面是存儲在狀态堆棧的資料清單。

變換矩陣資訊。例如旋轉或平移時,使用context.rotate()方法和context.settransform()方法。

目前剪貼區域。

畫布屬性的目前值,如下所示(但不局限于此)。

本章稍後會講到這些狀态。

2.3.1 什麼不屬于狀态

目前路徑(本章稍後将探讨)和目前位圖(參見第4章)受canvas環境控制,不屬于儲存的狀态。這個重要的功能允許在畫布上對單個對象進行繪畫和制作動畫。2.7節将初始化canvas狀态,以将變換應用到目前建立和繪制的形狀,同時保持畫布其他部分不變。

2.3.2 如何儲存和恢複canvas狀态

儲存(推送)目前狀态到堆棧,調用以下函數。

調出最後存儲的堆棧恢複畫布,使用以下函數。

繼續閱讀