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

目录
相关文章
|
存储
电感器的作用及其应用
一、电感器的基本原理 电感器是一种用于存储和释放电能的 passive 设备,它的基本原理是利用线圈中的电流产生磁场,从而储存电能。电感器由一个或多个线圈组成,线圈中的导线环绕在一个或多个磁性材料的芯上。当电流通过线圈时,磁场会在芯中产生,这个磁场会储存电能。 二、电感器的类型 根据电感器的结构和特性,可以将电感器分为多种类型。常见的电感器包括固定电感器、可变电感器和互感器。 1. 固定电感器:固定电感器是指电感值不可调节的电感器。它通常由线圈和磁性芯组成,线圈中的导线匝数和磁性芯的材料和形状决定了电感器的电感值。 2. 可变电感器:可变电感器是指电感值可调节的电感器。它通常由线圈和可移动的磁
169 0
|
29天前
|
算法 编译器 C语言
宏函数以及作用
宏函数是在预处理阶段由编译器进行替换的代码片段,常用于常量定义、简单计算和代码简化。它们以 `#define` 开头,不进行类型检查,使用时需谨慎。
|
5月前
ztest中ddof起什么作用
ztest中ddof起什么作用
39 0
|
存储
电感的作用及其应用
一、什么是电感 电感是指导体中由于电流变化而产生的磁场所产生的电动势。电感是电路中的一种被动元件,通常由线圈或线圈的组合构成。当电流通过电感时,由于电流的变化,会在电感周围产生磁场,这个磁场又会产生电动势,阻碍电流的变化。因此,电感具有阻抗的特性,对交流电有较大的阻碍作用,而对直流电几乎没有影响。电感在电路中常用于滤波、储能、变压器等应用。 二、电感的作用 电感在电路中有多种作用,以下是其中几种: 1. 储能:电感能够将电能转化为磁能,当电流断开时,磁场会产生电动势,将磁能转化为电能,从而实现电能的储存。 2. 滤波:电感对交流电有较大的阻碍作用,可以用来滤除高频噪声或者直流分量,从而实现信号
255 0
|
C++
do while(0)的作用以及原因
do while(0)的作用以及原因
131 0
|
人工智能 开发者
阶数的作用 | 学习笔记
快速学习阶数的作用
阶数的作用 | 学习笔记
函数的作用
函数的作用
107 0
|
Java Spring 容器
SmartInitializingSingleton的作用和原理
SmartInitializingSingleton的作用和原理
6344 0
|
JavaScript 前端开发
|
缓存 安全 网络协议