图形上下文状态栈
????上下文狀態(tài)棧為內(nèi)存中的一塊區(qū)域,它用來保存前上下文當(dāng)?shù)臓顟B(tài).
????我們獲取的圖層上下文當(dāng)中其實兩塊區(qū)域,一個是存放添加的路徑,一個是用來保存用戶設(shè)置的狀態(tài),
????這些狀態(tài)包括線條的顏色,線寬等.
????當(dāng)我們把上下文的內(nèi)容渲染到View上面的時候,?
????它會自動將設(shè)置的所有上下文狀態(tài)運行到保存的路徑上面顯示到View上面.
????
????如果想要有多種狀態(tài),可以先把路徑渲染到View上面,
????再從新添加路徑.添加完路徑之后,重新設(shè)置上下文的狀態(tài).
????再把新設(shè)置的上下文狀態(tài)渲染到View上面.
????
????我們可以利用上下文狀態(tài)棧的方式,在設(shè)置狀態(tài)之前,把之前的狀態(tài)保存到上下文狀態(tài)棧里面.
????下一次想要再使用之前的狀態(tài)時, 可以從上下文狀態(tài)當(dāng)中取出之前保存的上下文狀態(tài).
????
????1.如何把上下文狀態(tài)保存到上下文狀態(tài)棧?
???????CGContextSaveGState(ctx);
????2.如何從上下文狀態(tài)棧中取出上下文狀態(tài)?
???????CGContextRestoreGState(ctx);
轉(zhuǎn)載于:https://www.cnblogs.com/xufengyuan/p/6994867.html
總結(jié)
- 上一篇: 粗略。。类设计的基本经验3之笔记
- 下一篇: HNCU 1328: 算法2-18~2-