【深入浅出IOS开发】图形上下文栈

本文介绍如何利用图形上下文栈技术在绘制路径前和后分别保存和恢复设备状态,确保绘制操作的灵活与可控。具体展示了通过`CGContextSaveGState`和`CGContextRestoreGState`函数来实现路径的精准绘制,并通过实例代码演示了其应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图形上下文栈通过一种栈的形式保存的绘制格式。可以方便我们在设置过绘制格式之后,进行恢复。

 ①开始绘制之前,保存设备上下文

    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);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值