当Apple谈到“图形状态”时,它们是指我创建的graphik还是它们意味着我使用的设置?

时间:2009-04-23 15:13:44

标签: iphone core-graphics

他们说,有一个Stack可以保存图形状态。好吧,我不确定这个词是什么意思。 CGContextSaveGState是否保存我当前的绘图,还是保存了我当前的绘图设置,如颜色,线宽,字体大小等?

1 个答案:

答案 0 :(得分:4)

CGContextSaveGState documentation明确说明州内保存的内容。

  

每个图形上下文都维护着一堆图形状态。请注意,并非当前绘图环境的所有方面都是图形状态的元素。例如,当前路径不被视为图形状态的一部分,因此在调用CGContextSaveGState函数时不会保存。保存的图形状态参数为:

     
      
  • CTM(当前转换矩阵)
  •   
  • 剪辑区域
  •   
  • 图像插值质量
  •   
  • 线宽
  •   
  • line join
  •   
  • miter limit
  •   
  • 线帽
  •   
  • 行破折号
  •   
  • 平坦度
  •   
  • 应该反别名
  •   
  • 渲染意图
  •   
  • 填充色彩空间
  •   
  • 描边颜色空间
  •   
  • 填充颜色
  •   
  • 描边颜色
  •   
  • alpha值
  •   
  • 字体
  •   
  • 字体大小
  •   
  • 字符间距
  •   
  • 文字绘图模式
  •   
  • 阴影参数
  •   
  • 模式阶段
  •   
  • 字体平滑参数
  •   
  • 混合模式
  •   

所以不,你所做的绘图没有保存(虽然它也没有被清除)。而是保存了许多图形状态参数。然后,您可以通过调用CGContextRestoreGState来恢复到您保存的状态。

相关问题