美文网首页
基本线条的绘制

基本线条的绘制

作者: Z了个L | 来源:发表于2016-08-24 15:54 被阅读16次
  • 关闭路径:自动的从路径的终点连接到 路径的起点
  • 如果没有关闭路径,使用fill会自动关闭路径

// DrawView.h

#import <UIKit/UIKit.h>

@interface DrawView : UIView

@end


// DrawView.m

#import "DrawView.h"

@implementation DrawView

// 作用: 绘图
// 什么时候调用:(系统自动调用)当View显示的时候调用
// 参数:当前View的bounds
// 在drawRect系统已经自动创建了一个跟当前View相关联的上下文

- (void)drawRect:(CGRect)rect {

//    //1.获取跟View相关联的上下文(UIGraphics开头)  ---- 画板
//    CGContextRef ctx =  UIGraphicsGetCurrentContext();
//    //2.描述路径
//    UIBezierPath *path = [UIBezierPath bezierPath]; //---- 画笔
//    //设置起点
//    [path moveToPoint:CGPointMake(50, 250)];
//    //添加一根曲线到某个点
//    [path addQuadCurveToPoint:CGPointMake(250, 250) controlPoint:CGPointMake(80, 100)];
//    //3.把路径添加到上下文
//    CGContextAddPath(ctx, path.CGPath);
//    //4.把上下文内容渲染到View上.
//    CGContextStrokePath(ctx);

    /*
//    // 拿到画笔
//    UIBezierPath *path = [UIBezierPath bezierPath];
//    // 设置起点
//    [path moveToPoint:CGPointMake(50, 150)];
//    // 添加一根线到某个点
//    [path addLineToPoint:CGPointMake(250, 50)];
//    // 给这支笔设置笔宽
//    [path setLineWidth:10];
//    // 设置笔的样式
//    [path setLineCapStyle:kCGLineCapRound];
//    // 设置画笔的颜色
//    [[UIColor redColor] set];
//    // 封笔结束
//    [path stroke];
     */
    
    // 画直线通过修改上下文
    [self drawLineOne];
    // 画直线通过修改画笔
//    [self drawLineTwo];
}

// 画直线通过修改上下文
- (void)drawLineOne {
    
    // 1.获取跟View相关联的上下文(uigraphics开头)
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    // 2.描述路径
    // 一条路径可以绘制多条线
    UIBezierPath *path = [UIBezierPath bezierPath];
    
//    // 设置起点
//    [path moveToPoint:CGPointMake(50, 150)];
//    //添加一根线到某个点
//    [path addLineToPoint:CGPointMake(250, 50)];
//    
//    //画第二根线
//    //[path moveToPoint:CGPointMake(50, 250)];
//    //[path addLineToPoint:CGPointMake(250, 100)];
//    
//    // 把上一条路径的终点,当作是下一个路径的起点
//    [path addLineToPoint:CGPointMake(50, 250)];
    
    // 设置起点
    [path moveToPoint:CGPointMake(50, 250)];
    // 添加一根曲线到某个点
    //    [path addQuadCurveToPoint:CGPointMake(250, 250) controlPoint:CGPointMake(80, 100)];
    // 添加一根线到某个点
    [path addLineToPoint:CGPointMake(250, 250)];
    
    
    //设置上下文的状态
    CGContextSetLineWidth(ctx, 10);
    //设置线的连接样式
    /*
     kCGLineJoinMiter,
     kCGLineJoinRound,
     kCGLineJoinBevel
     */
//    CGContextSetLineJoin(ctx, kCGLineJoinRound);
    //设置线的顶角样式
    /*
     kCGLineCapButt,
     kCGLineCapRound,
     kCGLineCapSquare
     */
    CGContextSetLineCap(ctx, kCGLineCapRound);
    // 设置画笔的颜色
    [[UIColor redColor] set];
    
    //3.把路径添加到上下文
    //UIBezierPath->UIKit -->  CGPathRef->CoreGraphics
    CGContextAddPath(ctx, path.CGPath);
    //4.把上下文当中绘制的内容渲染到跟View关联的layer.(stroke ,fill)
    CGContextStrokePath(ctx);
}

// 画直线通过修改画笔
- (void)drawLineTwo {
    // 1.获取跟view相关联的上下文(UIGraphics开头) ---- 画板
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    // 2.描述路径
    UIBezierPath *path = [UIBezierPath bezierPath]; // 画笔
    // 设置起点
    [path moveToPoint:CGPointMake(50, 250)];
    // 添加一根曲线到某个点
//    [path addQuadCurveToPoint:CGPointMake(250, 250) controlPoint:CGPointMake(80, 100)];
    // 添加一根线到某个点
    [path addLineToPoint:CGPointMake(250, 250)];
    // 给这支笔设置笔宽
    [path setLineWidth:10];
    // 设置笔的样式
    [path setLineCapStyle:kCGLineCapRound];
    // 设置画笔的颜色
    [[UIColor redColor] set];
    // 封笔结束
    [path stroke];
    // 3.把路径添加到上下文
    CGContextAddPath(ctx, path.CGPath);
    // 4.把上下文内容渲染到View上
    CGContextStrokePath(ctx);
}

@end

参考链接





相关文章

  • 基本线条的绘制

    关闭路径:自动的从路径的终点连接到 路径的起点 如果没有关闭路径,使用fill会自动关闭路径 参考链接

  • matplotlib

    使用基本2D绘制 子图绘制 在一个图中绘制多条线条

  • ios基本线条绘制

    /* 作用:专门用来绘图 什么时候调用:系统自动调用,当View显示的时候调用 param rect:当前view...

  • 【CoreGraphics】CGContext - 图形上下文(

    一般情况下,基本绘制步骤:1 画个路径2 线条设置3 绘制图形 路径 与 图形 (线条) 与CGPath 和 Be...

  • 基本线条绘制(曲线)(熟悉)

    1.画矩形 (void)drawOvalIn矩形的rect设置为宽高相等,画出来的为正方形,如图 2.椭圆 (vo...

  • 基本线条绘制(画线)(熟悉)

    需要注意的是 这俩个方法,一个是设置一个点画曲线,另外一个是设置俩个点画曲线,有什么呢?比如我上方给的俩个坐标点,...

  • #02-基本线条绘制#

  • iOS绘图学习

    01.绘制线条的第一种方法,最基本的方式 02.绘制线条的第二种方法 03.绘制一条直线的第三种方式,Bezier...

  • 玩转针管笔

    针管笔是绘制图纸的基本工具之一,能绘制出均匀一致的线条。 针管笔的针管管径的大小决定所绘线条的宽窄。针管笔有不同粗...

  • 绘制线条

    路径是由屏幕上一个或一系列的点构成。路径和线条有很大的区别,路径可以包含许多线条,但线条不能包含许多路径。把路径当...

网友评论

      本文标题:基本线条的绘制

      本文链接:https://www.haomeiwen.com/subject/yykosttx.html