美文网首页
基本线条绘制(曲线)(熟悉)

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

作者: 遇见灬最美的你 | 来源:发表于2016-11-30 18:08 被阅读17次

1.画矩形

(void)drawOvalIn
矩形的rect设置为宽高相等,画出来的为正方形,如图

Paste_Image.png

2.椭圆

(void)drawRect

椭圆的rect设置为宽高相等,画出来的为圆形,如图

Paste_Image.png Paste_Image.png

需要注意的是用椭形画○起点如图所示,而弧形设置的点为中心点

3.画弧形

(vdrawArcCenter:(CGRect)rect
bezierPathWithArcCenter的几个参数,如下

1.ArcCenter 中心点
2.radius 半径
3.startAngle开始的弧度
这个点位起点,即0点

Paste_Image.png

4.endAngle 结束的弧度
5.clockwise YES顺时针,NO逆时针
6.CAShapeLayer

Paste_Image.png

环形图代码如下

//画弧形
- (void)drawArcCenter:(CGRect)rect{
//    ArcCenter 中心点
//    radius    半径
//    startAngle开始的弧度
//    endAngle  结束的弧度
//    clockwise YES顺时针,NO逆时针
    
    CAShapeLayer * shapeLayer = [CAShapeLayer layer];
    
    CGPoint arcCenter = CGPointMake(rect.size.width * 0.5, rect.size.height * 0.5);
    CGFloat radius = 50;
    CGFloat startAngle = 0;
    CGFloat endAngle = M_PI_2 * 4;
    BOOL    clockwise = YES;
    UIBezierPath * path = [UIBezierPath bezierPathWithArcCenter:arcCenter radius:radius startAngle:startAngle endAngle:endAngle clockwise:clockwise];
//    [[UIColor redColor] set];
//    [path addLineToPoint:arcCenter];
//    [path closePath];
    
    shapeLayer.fillColor = [UIColor clearColor].CGColor;
    shapeLayer.strokeColor = [UIColor redColor].CGColor;
    shapeLayer.path = path.CGPath;
    shapeLayer.lineWidth = 30;
    [self.layer addSublayer:shapeLayer];
//    [path stroke];

}

全部代码如下

//
//  drawView.m
//  02-基本线条绘制(形状)(熟悉)
//
//  Created by 李亮 on 2016/11/30.
//  Copyright © 2016年 www.thelast.com. All rights reserved.
//

#import "drawView.h"

@implementation drawView

- (void)drawRect:(CGRect)rect{
    [self drawArcCenter:rect];
//    [self drawOvalIn];
//    [self drawRect];
}
//画弧形
- (void)drawArcCenter:(CGRect)rect{
//    ArcCenter 中心点
//    radius    半径
//    startAngle开始的弧度
//    endAngle  结束的弧度
//    clockwise YES顺时针,NO逆时针
    
    CAShapeLayer * shapeLayer = [CAShapeLayer layer];
    
    CGPoint arcCenter = CGPointMake(rect.size.width * 0.5, rect.size.height * 0.5);
    CGFloat radius = 50;
    CGFloat startAngle = 0;
    CGFloat endAngle = M_PI_2;
    BOOL    clockwise = YES;
    UIBezierPath * path = [UIBezierPath bezierPathWithArcCenter:arcCenter radius:radius startAngle:startAngle endAngle:endAngle clockwise:clockwise];
//    [[UIColor redColor] set];
//    [path addLineToPoint:arcCenter];
//    [path closePath];
    
//    shapeLayer.fillColor = [UIColor redColor].CGColor;
    shapeLayer.strokeColor = [UIColor redColor].CGColor;
    shapeLayer.path = path.CGPath;
    shapeLayer.lineWidth = 30;
    [self.layer addSublayer:shapeLayer];
    
    
//    [path stroke];

}

//画矩形
- (void)drawRect{
    
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGRect rect = CGRectMake(50, 50, 100, 100);
    
    UIBezierPath * path = [UIBezierPath bezierPathWithRect:rect];
    [[UIColor redColor] set];
    CGContextAddPath(ctx, path.CGPath);
    CGContextStrokePath(ctx);
}
//椭圆
- (void)drawOvalIn{
    
    CGRect rect = CGRectMake(50, 50, 100, 50);

    UIBezierPath * path = [UIBezierPath bezierPathWithOvalInRect:rect];
    
    [[UIColor redColor] set];
    [path stroke];
}
@end

相关文章

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

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

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

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

  • canvas

    2d上下文 绘制线条 添加样式 画线宽度 ctx.lineWidth = 2px; 矩形绘制 圆形绘制 贝塞尔曲线...

  • matplotlib

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

  • Android自定义控件(三 .1)Path贝塞尔曲线

    前一篇文章讲了Path绘制直线以及各种基本图形,这篇文主要说Path绘制曲线,就是曲线中非常有名的贝赛尔曲线。贝赛...

  • 基本线条的绘制

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

  • ios基本线条绘制

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

  • 《高效阅读》书摘25

    步骤2 使用三栏表格绘制曲线 ①绘制线条右手持书,左手握笔。用我们的身体感知书的“能量”,然后将这种“能量”反馈到...

  • ROC曲线理解

    本文用于理解ROC曲线的定义,绘制过程及其应用实现。 基本目录如下: 什么是ROC曲线?1.1 ROC曲线的历史1...

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

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

网友评论

      本文标题:基本线条绘制(曲线)(熟悉)

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