上下文状态栈

上下文状态栈

  • 需求:画一条横线,一条竖线
  • 获取上下文
    • 在内存中开辟了一个上下文区域,分为存放路径、存放状态两个部分
  • 描述路径

  • 把路径添加到上下文
    • 把路径添加到存放路径的区域
  • 横线:线宽10,颜色红色
    • 设置上下文状态
      • 两条线同时改变了!!
      • 当调用stroke方法时,会把上下文当中存放的所有路径取出来,把上下文当中的状态运用到所有的路径当中
      • 所以两条线状态都被修改
    • 上一个路径添加显示之后,再去添加一个路径,再设置上下文状态
  • 显示到view上面
  • 一个路径只能对应一个状态
  • 在修改上下文状态之前,保存上下文状态
    • CGContextSaveState()
    • 从上下文状态栈中做恢复状态
      • CGContextStateRestoreGState
    • 取出最上面(栈顶)的状态,把当前状态覆盖掉

上下文矩阵操作

  • 形变操作(平移旋转缩放)
  • 画一个 椭圆
    • CGContextTranslateCTM

    • CGContextRotateCTM

    • CGContextScaleCMT

    • 必须要在添加路径之前做操作矩阵操作

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容