图形上下文栈通过一种栈的形式保存的绘制格式。可以方便我们在设置过绘制格式之后,进行恢复。
①开始绘制之前,保存设备上下文
CGContextSaveGState(ctr);
②渲染之后,恢复设备上下文
CGContextRestoreGState(ctr);
//图形上下文栈
void drawLine(CGRect rect, CGContextRef ctr)
{
//开始绘制之前,保存设备上下文
CGContextSaveGState(ctr);
CGContextMoveToPoint(ctr, 10, 10);
CGContextAddLineToPoint(ctr, 340, 500);
[[UIColor redColor]set];
CGContextSetLineWidth(ctr, 20);
CGContextSetLineCap(ctr,kCGLineCapRound);
CGContextStrokePath(ctr);
//渲染之后,恢复设备上下文
CGContextRestoreGState(ctr);
CGContextMoveToPoint(ctr, 350, 100);
CGContextAddLineToPoint(ctr, 0, 300);
CGContextStrokePath(ctr);
}