IOS开发之Quertz 2D绘图
2013-07-31 21:20
330 查看
在我们刚刚接触Quertz 2D的时候,很重要的一点是:绘图是在图形的上下文进行的。每一个视图都有关联的上下文。
所以如果在某个视图中绘图,我们要检索当前的上下文
CGContextRef ctx
= UIGraphicsGetCurrentContext();
//检索当前上下文,绘图的每一个视图都有相关联的上下文,之后将此上下文传递给core
graphics绘图函数来绘制
CGContextSetLineWidth(ctx,
3.0); //设置直线的像素为2;
CGContextSetStrokeColorWithColor(ctx,
[UIColor greenColor].CGColor); //指定笔画颜色为绿色;
需要注意的是在绘图操作中有两种不同的颜色设置:
笔画颜色用于绘制直线或者说形状的轮廓(圆形方形等)
填充颜色用于填充形状(里面)
绘图的另一个重要属性是:颜色
在平常的开发应用中,我们设置颜色一般都用UIColor,但是在Quertz 2D中我们不能直接调用UIColor对象,但是UIColor中包含了CGColor属性
@property(nonatomic,readonly)CGColorRef
CGColor; 所以我们在设置颜色的时候可以运用[UIColor blueColor].CGColor
上面简单介绍了绘制线以及CGColor,但是如果需要我们用Core Graphics操作CGImage怎么办呢。这个时候我们需要指定一个CGPoint来确定图片的左上角或者指定一个CGRect来框住图像,并很据需要调整图像的大小时期适合该框
CGPoint
drawPoint = CGPointMake(100.0f, 11.0f);
[image
drawAtPoint:drawPoint];
绘制形状:
绘制椭圆形:
所以如果在某个视图中绘图,我们要检索当前的上下文
CGContextRef ctx
= UIGraphicsGetCurrentContext();
//检索当前上下文,绘图的每一个视图都有相关联的上下文,之后将此上下文传递给core
graphics绘图函数来绘制
CGContextSetLineWidth(ctx,
3.0); //设置直线的像素为2;
CGContextSetStrokeColorWithColor(ctx,
[UIColor greenColor].CGColor); //指定笔画颜色为绿色;
需要注意的是在绘图操作中有两种不同的颜色设置:
笔画颜色用于绘制直线或者说形状的轮廓(圆形方形等)
填充颜色用于填充形状(里面)
CGContextMoveToPoint(ctx, 0.0f, 0.0f); //直线的起点 CGContextAddLineToPoint(ctx, 100, 100); //直线终点,调用这个函数的时候是将这个不可见的笔画移动到新的位置,但是并没有绘制任何内容。 CGContextStrokePath(ctx); //这个函数绘制直线。 CGContextSetRGBFillColor /CGContextSetFillColorWithColor //填充颜色 CGContextSetRGBStrokeColor /CGContextSetStrokeColorWithColor //笔画颜色 CGContextSetLineWidth //线宽度
绘图的另一个重要属性是:颜色
在平常的开发应用中,我们设置颜色一般都用UIColor,但是在Quertz 2D中我们不能直接调用UIColor对象,但是UIColor中包含了CGColor属性
@property(nonatomic,readonly)CGColorRef
CGColor; 所以我们在设置颜色的时候可以运用[UIColor blueColor].CGColor
上面简单介绍了绘制线以及CGColor,但是如果需要我们用Core Graphics操作CGImage怎么办呢。这个时候我们需要指定一个CGPoint来确定图片的左上角或者指定一个CGRect来框住图像,并很据需要调整图像的大小时期适合该框
CGPoint
drawPoint = CGPointMake(100.0f, 11.0f);
[image
drawAtPoint:drawPoint];
绘制形状:
绘制椭圆形:
CGRect rect = CGRectMake(0, 0, 100, 100); CGContextAddEllipseInRect(ctx, rect); CGContextDrawPath(ctx, kCGPathFillStroke); CGContextAddRect(CGContextRef c, CGRect rect) CGContextAddRects(CGContextRef c, const CGRect rects[],size_t count]; CGContextAddLines(CGContextRef c, const CGPoint points[],size_t count]; CGContextAddEllipseInRect(CGContextRef context, CGRect rect) CGContextAddArc CGContextAddArcToPoint CGContextAddPath(CGContextRef context, CGPathRef path)
相关文章推荐
- IOS开发(107)之Quartz 2D绘图
- iOS开发UI-利用Quartz2D 实现基本绘图(画三角形、矩形、圆、圆弧)
- iOS开发之Quartz 2D绘图高阶用法(二)
- iOS开发之Quartz2D 五:UIKIT 绘图演练,画文字,画图片
- iOS海哥开发笔记 (海哥原创,绘图Quartz-2d的简单使用 二)
- iOS开发UI篇—Quartz2D使用(绘图路径)
- iOS开发UI篇-Quartz2D使用(绘图路径)
- iOS开发UI篇—Quartz2D使用(绘图路径)
- iOS开发UI-利用Quartz2D 实现基本绘图(画三角形、矩形、圆、圆弧)
- iOS开发-UI高级 Quartz 2D绘图
- iOS开发UI篇—Quartz2D使用(绘图路径
- iOS开发UI篇—Quartz2D使用(绘图路径)
- iOS开发UI篇—Quartz2D使用(绘图路径)
- iOS开发之Quartz 2D绘图技术(一)
- 【IOS 开发学习总结-OC-64】Quartz 2D绘图(4-1)——Quartz 2D绘图基础+点线模式
- iOS开发 - Quartz2D绘图
- iOS开发学习之Quartz2D绘图
- iOS开发UI篇—Quartz2D使用(绘图路径)
- iOS开发 基本绘图/Quartz 2D/Core Image
- iOS开发UI篇—Quartz2D使用(绘图路径)