Quartz2D 使用介绍
来源:互联网 发布:软件可行性研究 编辑:程序博客网 时间:2024/05/17 03:03
简介:Quartz2D是一个二维绘图引擎.只能在mac和ios系统中使用
功能:
1.绘制图形:线段,三角形,矩形,弧形,圆等
2.绘制文字
3.绘制图片
4.截图/裁剪图片
5.自定义UI控件
6.读取/生成PDF
使用基本步骤:
1.自定义view
2.重写drawRect方法
获取图形上下文
创建路径对象,添加路径到上下文
渲染
3.在需要刷新图形的时候进行重绘
[self setNeedsDisplay];
指定刷新的区域重绘
[self setNeedsDisplayInRect:CGRectMake(0, 0, 100, 100)];
绘制基本图形
1.0 线段-(C语言函数实现)
- (void)drawRect:(CGRect)rect{ //获取图形上下文 CGContextRef context = UIGraphicsGetCurrentContext(); //添加路径 CGContextMoveToPoint(context, 50, 50); CGContextAddLineToPoint(context, 100, 100); CGContextAddLineToPoint(context, 150, 80); CGContextAddLineToPoint(context, 50, 50); //设置线的接头 CGContextSetLineJoin(context, kCGLineJoinRound); //设置线宽 CGContextSetLineWidth(context, 10); //设置线的颜色 [[UIColor cyanColor] setStroke]; //渲染 CGContextStrokePath(context);}
1.1 线段 -(BezierPath实现)
// 使用贝塞尔创建路径UIBezierPath *bezierPath = [UIBezierPath bezierPath];[bezierPath moveToPoint:CGPointMake(10, 10)];[bezierPath addLineToPoint:CGPointMake(100, 100)]; //设置线宽 bezierPath.lineWidth = 10; //设置线的首尾样式 bezierPath.lineCapStyle = kCGLineCapRound;// 直接进行渲染[bezierPath stroke];
截图的功能:
截图
//参数1:图片//参数2:相框大小//参数3:放置到相框上的图片的大小(进行相应缩放后的尺寸)..- (void)drawImage:(UIImage *)image withImageRect:(CGRect)rect toImageView:(UIImageView *)imageView withImageViewSize:(CGSize)size{ /* 思想:先根据屏幕宽度,计算出对应的图片高度self.disposeImageHeight,也就是将原始图片按照屏幕宽度计算得到缩放后的尺寸, 然后这就是需要进行绘制的尺寸.再将其绘制到设定好的图片框中.由于对图片框做了高度限制.所以也就相当于对缩放后的图片进行了一个高度的截取. */ /** * 参数1:图片框的大小,就是需要绘制多大的图片 参数2:是否透明 参数3:缩放,0代表不缩放 */ //开启图片上下文,也就是相框的大小 UIGraphicsBeginImageContextWithOptions(size, NO, 0); //图片按照设定的尺寸缩放后设置到相框.也就是最终放置到相框上的照片的大小.由于相框设置是不进行压缩处理,所以超出边框的部分就会被截掉了. [image drawInRect:rect]; //获取当前图片上下文的图片,获取当前相框中的照片.不包括边框外边的部分. imageView.image = UIGraphicsGetImageFromCurrentImageContext(); //关闭图片上下文 UIGraphicsEndImageContext();}
0 0
- Quartz2D 使用介绍
- Quartz2D介绍
- Quartz2D使用
- Quartz2D使用
- Quartz2D使用
- 《Quartz2D使用》
- Quartz2D简单介绍
- Quartz2D简单介绍
- Quartz2D简单介绍
- Quartz2D简单介绍
- Quartz2D简单介绍
- Quartz2D简单介绍
- Quartz2D使用(截屏)
- Quartz2D的简单使用
- Quartz2D的使用
- Quartz2D的简单使用
- Quartz2D使用(一)
- Quartz2D简单使用(二)
- App测试
- 探索子线程autorelease对象的释放时机
- 异步时间扭曲
- BZOJ 2127 Happiness 最小割
- 设计模式——简单工厂,工厂方法,抽象工厂
- Quartz2D 使用介绍
- bzoj3166: [Heoi2013]Alo
- Delphi版 环形无锁缓冲
- 首先贴一张美图看看,
- CSS3选择器总结
- openGL学习笔记2——视图和模型变换
- org mode 嵌入图片
- Android 手把手教您自定义ViewGroup(一)
- Android学习记录(四) 只在当前应用有效的数据库实现。