quaz2d整理

来源:互联网 发布:sql语言具有查询功能吗 编辑:程序博客网 时间:2024/05/17 09:30
图形上下文栈
CGContextSaveGState()
CGContextRestoreGState()
CGContextClip()裁剪 上裁下
setNeedsPlay 刷帧(重绘)
定时器:
刷新快的
CADisplayLink *link=[CADisplayLinkWithTarger:self selector@selector(setNeedsDisplay)];
[link addTorunLoop:[NSRunLoop mainRunLoop forMode:NSDefaultRunLoopMode];
慢的
[NSTimer scheduledTimerWithTimeInterVal:0.3 target:self selector:@selector(setNeedsDisplay) userInfo:nil repeats:YES];
原理方法
1,先创建一个路径
2,拼接路径
3,添加路径到上下文
4,渲染
quarz 2d 内存管理
‘copy create retain 要释放
方法一CGPathRelease() CGColorRelease
方法二CFRelease()
画控件的时候要调用自定义属性的set方法
如:-(void)setImage:(UIImage*)image

  _image=image;
[self setNeedsDisplay];
}
二,画水印
1.创建一个基于位图的上下文
2,画背景
3,画右下方的水印
4,从上下文中取得制作完毕的UIImage对象
5,结束上下文
6,显示到UIImageView
7,将image对象压缩为PNG格式的二进制数据
8,写入文件
三。裁剪
1,加载图片
2,开启上下文
3,取得上下文
4,画圆
5,按照当前的路径形状裁剪,超出这个形状以外的内容不显示
6,画图
7,取图
8,结束
,写入文件
5,四,屏幕截图(调用view的layer的renderInContext)
1,开启上下文
2,将控制器view的layer渲染到上下文
3,取出图片
4,结束上下文
要实现drawRect方法才可以画图因为需要在其中取得上下文,都是画在UIView的layer上
0 0
原创粉丝点击