博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Quartz2D总结
阅读量:5748 次
发布时间:2019-06-18

本文共 1226 字,大约阅读时间需要 4 分钟。

天了噜,脑子完全懵了,最起码说出来个上下文啊,连这个都给忘了,特此总结一下,并以此缅怀这次面试

 

Quartz2D的API来自于Core Graphics(这就是为什么CGContextRef是以CG开头),需要导入CoreGraphics(Xcode6之后不需要导入了)

图形上下文:是一个CGContextRef类型的数据

图形上下文的作用:

1.保存绘图信息、绘图状态

2.决定绘制的输出目标(绘制到什么地方去)(输出目标可以是PDF文件、Bitmap或者显示器的窗口上

Bitmap Graphics ContextPDF Graphics Context Window Graphics Context Layer Graphics Context Printer Graphics Context 自己画一个view 步骤: 1.新建一个类,继承自UIView 2.实现- (void)drawRect:(CGRect)rect方法,并在此方法中取得当前view的图形上下文 3.创建自己的绘制path,并根据path来绘制图形 4.利用图形上下文将绘制的所有内容渲染显示到view上面 当然,比如Bitmap的图形上下文就不必在- (void)drawRect:(CGRect)rect里面了,直接创建一个就可:
// 创建一个bitmap上下文    UIGraphicsBeginImageContextWithOptions(CGSizeMake(200, 200), NO, 0);     // 获取bitmap上下文    CGContextRef ctr = UIGraphicsGetCurrentContext();    // 画圆    CGContextAddEllipseInRect(ctr, CGRectMake(50, 50, 100, 100));    // 渲染    CGContextStrokePath(ctr); // 从上下文获取画出的图片    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();    UIImageView *imageView = [[UIImageView alloc] initWithImage:img];    CGRect frame = imageView.frame;    frame.origin = CGPointMake(50, 50);    imageView.frame = frame;    [self.view addSubview:imageView];

待续。。。

部分参考自:http://www.jianshu.com/p/eecffec3b7af

 

转载于:https://www.cnblogs.com/hyuganatsu/p/Quartz2D.html

你可能感兴趣的文章
Oracle 索引 详解
查看>>
spring的service类调用自己方法事务无效
查看>>
CentOS “Destination Host Unreachable”问题解决办法
查看>>
java的反射机制浅谈
查看>>
CentOS7中rpm安装MySQL数据库
查看>>
架构师之路(一)-什么是软件架构
查看>>
JAVA中的ThreadLocal
查看>>
oracle子查询 in exists
查看>>
常用JavaScript Function
查看>>
半自动化ORM框架mybatis
查看>>
Python2.x与3.x版本区别
查看>>
ubuntu使用apt-get默认安装ElasticSearch里JAVA环境丢失的问题
查看>>
最少硬币找零问题
查看>>
spring boot 整合mybatis分页插件pagehelper5.1
查看>>
看《曾国藩》从纳小妾到见容闳一节笔记二三
查看>>
Web安全之CSRF攻击
查看>>
正则表达式简明教程(持续更新中)
查看>>
孤单的平安夜
查看>>
linux之路——find命令学习笔记
查看>>
如何用100行Python代码做出魔性声控游戏“八分音符酱”
查看>>