关情纸尾-----Quartz2D-上下文状态栈与上下文的矩阵操做

上下文状态栈spa


上下文状态栈为内存中的一块区域,它用来保存前上下文当的状态.
咱们获取的图层上下文当中其实两块区域,一个是存放添加的路径,一个是用来保存用户设置的状态,
这些状态包括线条的颜色,线宽等.
当咱们把上下文的内容渲染到View上面的时候,
它会自动将设置的全部上下文状态运行到保存的路径上面显示到View上面.

若是想要有多种状态,能够先把路径渲染到View上面,
再重新添加路径.添加完路径以后,从新设置上下文的状态.
再把新设置的上下文状态渲染到View上面.

咱们能够利用上下文状态栈的方式,在设置状态以前,把以前的状态保存到上下文状态栈里面.
下一次想要再使用以前的状态时, 能够从上下文状态当中取出以前保存的上下文状态.

1.如何把上下文状态保存到上下文状态栈?
CGContextSaveGState(ctx);
2.如何从上下文状态栈中取出上下文状态?
CGContextRestoreGState(ctx);内存

 

 

上下文的矩阵渲染

上下文的矩阵操做其实就是修改上下文的形变,
主要有如下几种
平移
CGContextTranslateCTM(ctx, 100, 100);
旋转
CGContextRotateCTM(ctx, M_2_PI);
缩放
CGContextScaleCTM(ctx, 0.5, 0.5);
注意:上下文操做必须得要在添加路径以前去设置颜色

相关文章
相关标签/搜索