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

本文共 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

你可能感兴趣的文章
配置了java环境变量后不起作用
查看>>
CSS 笔记——文本字体
查看>>
Swift 函数式数据结构 - 链表
查看>>
L1-011 A-B Java 部分解
查看>>
HTTP/1.1与HTTP/1.0的区别[转]
查看>>
使用 Velocity 模板引擎快速生成代码
查看>>
css 引用图片 相对路径
查看>>
sql server 用户“sa”登陆失败
查看>>
DataGrid中嵌入CheckBox控件
查看>>
初识Haskell 四:函数function之二 常见函数
查看>>
启动tomcat报找不到或无法加载主类
查看>>
表单发送文件及加自定义参数
查看>>
jdk及tomcat的配置
查看>>
【计算机视觉】OpenCV篇(2) - 图像基本操作(访问像素点/ROI/通道分离合并/图片属性)...
查看>>
Android介绍以及源码编译--编译Android源码
查看>>
要加强的地方
查看>>
数据挖掘
查看>>
【转】IOS缓存机制详解
查看>>
SQL基础教程读书笔记-3
查看>>
数据库优化的学习记录
查看>>