iOS开发中使用Quartz2D绘制上下文栈和矩阵的方法

2020-01-14 17:18:35于丽

画第一条线的时候,会把当前的图形上下文拷贝一份保存到图形上下文栈中。
iOS开发中使用Quartz2D绘制上下文栈和矩阵的方法

画第二条线的时候,去图形上下文栈中取出栈顶的绘图信息,作为第二条线的状态信息,第二条线的状态信息也是据此(最初保存的那份图形上下文)进行绘制。

iOS开发中使用Quartz2D绘制上下文栈和矩阵的方法

iOS开发中使用Quartz2D绘制上下文栈和矩阵的方法

注意:在栈里保存了几次,那么就可以取几次(比如不能保存了1次,取两次,在取第二次的时候,栈里为空会直接挂掉)。

矩阵操作
一、关于矩阵操作
1.画一个四边形
通过设置两个端点(长和宽)来完成一个四边形的绘制。
代码:

 

复制代码
- (void)drawRect:(CGRect)rect
{
    //画四边形
    //获取图形上下文
    CGContextRef ctx=UIGraphicsGetCurrentContext();
    //绘图
    CGContextAddRect(ctx, CGRectMake(20, 50, 100, 100));
    //渲染
    CGContextStrokePath(ctx);
}

 

 


说明:通过这种方式画矩形有弱点:画出来的矩形永远都是正的。如下图:

 

iOS开发中使用Quartz2D绘制上下文栈和矩阵的方法