19
我看到很多示例代码,他们使用CGContextSaveGState
和CGContextRestoreGState
。为什么我需要保存上下文的状态?CGContextSaveGState和CGContextRestoreGState的用途是什么?
我看到很多示例代码,他们使用CGContextSaveGState
和CGContextRestoreGState
。为什么我需要保存上下文的状态?CGContextSaveGState和CGContextRestoreGState的用途是什么?
为了稍后恢复它。
您可以更改上下文的一些内容很难(例如,CTM)或不可能(例如剪切路径)改回。保存gstate可以通过恢复gstate来撤消这些更改。
天上,它是一个的被还原的状态,而不是整个图形。这清除了一切。 (即,我绘制的东西将保留,但我对CTM的更改将恢复。) – 2013-04-24 17:10:40
什么是CTM?谢谢。 – Colas 2014-06-19 14:14:43
@Colas:当前转换矩阵 - 当您翻译,缩放,旋转或倾斜时,您正在改变的图形状态的一部分。 – 2014-07-01 04:05:49