CGContextSaveGState与CGContextRestoreGState的作用

简介: <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; font-size:11px; font-family:Menlo; color:rgb(64,

CGContextSaveGState与CGContextRestoreGState的作用


使用Quartz时涉及到一个图形上下文,其中图形上下文中包含一个保存过的图形状态堆栈。在Quartz创建图形上下文时,该堆栈是空的。CGContextSaveGState函数的作用是将当前图形状态推入堆栈。之后,您对图形状态所做的修改会影响随后的描画操作,但不影响存储在堆栈中的拷贝。在修改完成后,您可以通过CGContextRestoreGState函数把堆栈顶部的状态弹出,返回到之前的图形状态。这种推入和弹出的方式是回到之前图形状态的快速方法,避免逐个撤消所有的状态修改;这也是将某些状态(比如裁剪路径)恢复到原有设置的唯一方式。


 


    UIGraphicsBeginImageContextWithOptions(targetRect.size, YES, 0.0);

    CGContextRef context = UIGraphicsGetCurrentContext();

   

    float myFillColor[] = {1,0,0,1}; //red;

    CGContextSaveGState(context);

    

    CGContextSetRGBFillColor(context, 0,1,1,1);

    CGContextFillRect(context, targetRect);

    CGContextSetFillColor(context, myFillColor);

    CGContextFillEllipseInRect(context, targetRect);

    CGContextFillPath(context);

    CGContextRestoreGState(context);

        

    UIImage *uiImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

目录
相关文章
|
数据可视化 大数据 物联网
【专访蓝景科技】5G+实时云渲染赋能数字孪生,共建元宇宙
而同时,近年来,数字孪生技术被认为是具有战略性、颠覆性、先导性的技术,其应用场景已深入到城市治理、智慧园区、工业制造、医疗健康等新型智慧城市建设的方方面面,随着“探索建设数字孪生城市”被写入“十四五”规划纲要中,数字孪生技术已成为是构建新型智慧城市的重要技术手段。元宇宙和数字孪生都是信息化发展到一定程度的必然结果,二者之间既有不同之处,又深度融合。
【专访蓝景科技】5G+实时云渲染赋能数字孪生,共建元宇宙
|
Web App开发 Android开发 iOS开发
iOS 调试:通过 Safari/Chrome 调试 WebView
iOS 调试:通过 Safari/Chrome 调试 WebView
8808 0
iOS 调试:通过 Safari/Chrome 调试 WebView
|
11月前
|
SQL 运维 大数据
轻量级的大数据处理技术
现代大数据应用架构中,数据中心作为核心,连接数据源与应用,承担着数据处理与服务的重要角色。然而,随着数据量的激增,数据中心面临运维复杂、体系封闭及应用间耦合性高等挑战。为缓解这些问题,一种轻量级的解决方案——esProc SPL应运而生。esProc SPL通过集成性、开放性、高性能、数据路由和敏捷性等特性,有效解决了现有架构的不足,实现了灵活高效的数据处理,特别适用于应用端的前置计算,降低了整体成本和复杂度。
|
11月前
|
监控 Java 数据库
zabbix灵活的数据收集方式
zabbix灵活的数据收集方式
255 8
|
人工智能 自然语言处理 搜索推荐
AiChat—智能办公助手
AiChat办公助手是具备大语言模型能力的人工智能应用,为用户提供智能文档写作、阅读理解和问答、智能人机交互能力,让用户在办公、写作、文档处理等方面实现更智能的体验
88757 2
AiChat—智能办公助手
|
城市大脑 人工智能 运维
城市大脑 | 城市中枢系统与数字驾驶舱
本文介绍了城市大脑 | 城市中枢系统与数字驾驶舱的方案概述,方案价值及优势以及最佳实践。
城市大脑 | 城市中枢系统与数字驾驶舱
|
JavaScript 前端开发 Java
小笔记:表 - 各种语言的 CommonMark Markdown解析器 实现
小笔记:表 - 各种语言的 CommonMark Markdown解析器 实现
695 1
|
存储 SQL 消息中间件
关于流批一体的几点思考
关于流批一体的几点思考
|
消息中间件 缓存 NoSQL
GitHub上标星75k+超牛的《Java面试突击版》,分享PDF离线版
不论是校招还是社招都避免不了各种面试。笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个有章可循‘说的意思只是说应对技术面试是可以提前准备。

热门文章

最新文章