记录一次Quartz2D学习(四)
2024-08-31 03:43:03
(三)内主要讲了图片与文字的绘制
本次主要讲解 绘制状态的保存与恢复,以及对它的使用
4.绘制状态
4.1 绘制状态的保存与恢复,以及对它的应用
TIP:通过对保存恢复绘制状以及多次的渲染,可以绘制出复合的图形与涂层
- (void)drawRect:(CGRect)rect {
//获取上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
//设置线条的宽度
CGContextSetLineWidth(ctx, 10);
//保存绘制的状态
CGContextSaveGState(ctx);
//设置线条的颜色
[[UIColor yellowColor] set];
//移动起始点到
CGContextMoveToPoint(ctx, 100, 100);
//添加线条
CGContextAddLineToPoint(ctx, 150, 150);
//渲染
CGContextStrokePath(ctx);
//恢复到上次绘制状态(绘制第二条线条)
CGContextRestoreGState(ctx);
//移动到起始点
CGContextMoveToPoint(ctx, 200, 200);
//添加线条
CGContextAddLineToPoint(ctx, 150, 150);
//渲染
CGContextStrokePath(ctx);
}
4.2绘制状态保存与恢复的说明
类似与H5内的canvas画布, 渲染是按照本次绘制的绘制状态来绘制的,
如果对上次的绘制状态进行了保存,下次调用的时候就会处于上次的绘制状态(假如没有做出改变)。
通过与多次渲染的协调,可以绘制出复杂图层
最新文章
- MVVM架构~knockoutjs与MVC配合,实现列表的增删改功能
- my_log
- JSON简介以及用法汇总
- Java 中常用缓存Cache机制的实现《二》
- Android中使用自定义View实现下载进度的显示
- 点云匹配和ICP算法概述
- FIleReader无法解决编码问题
- Webbrowser 取消下载提示框
- Discuz云平台站点信息同步失败,An unknown error occurred. May be DNS Error.
- codeforces 652D . Nested Segments 线段树
- TEX Quotes(字符串,水)
- LPC1768外部中断与GPIO中断
- java学习书籍推荐
- 分布式集群下的Session存储方式窥探
- Linux下I/O多路转接之epoll(绝对经典)
- TCP的发送系列 — tcp_sendmsg()的实现(二)
- 自定义Token的CAS登录
- [C#]如何将 string 安全地转换为 int
- linux之 修改磁盘调度算法
- Alpha阶段敏捷冲刺⑦
热门文章
- 【Knockout.js 学习体验之旅】(3)模板绑定
- Entity Framework 6 Recipes 2nd Edition(13-6)译 ->; 自动编译的LINQ查询
- PHP_VERSION_ID是如何定义的
- javascript中的浮点数运算
- 高性能JavaScript--数据存储(简要学习笔记二)
- K-Means聚类算法原理
- linq to js使用汇总
- ASP.NET Core 中文文档 第三章 原理(4)路由
- [Maven]Maven入门教程
- 基于 Cmd MarkDown 的 markdown 语法学习