美文网首页
贝塞尔曲线

贝塞尔曲线

作者: 温暖的男人 | 来源:发表于2017-05-27 13:51 被阅读18次

    属性

    1. CGPathRef CGPath
      将UIBezierPath类转换成CGPath
    2. BOOL empty
      只读属性,路径上是否有有效元素
    3. CGRect bounds
      获取path的X坐标、Y坐标、宽度,高度为0
    4. CGPoint currentPoint
      当前path的位置
    5. CGFloat lineWidth
      path的宽度
    6. CGLineCap lineCapStyle
      端点样式
      kCGLineCapButt:无端点
      kCGLineCapRound:圆形端点
      kCGLineCapSquare:方形端点
    7. CGLineJoin lineJoinStyle
      拐角样式
      kCGLineJoinMiter:尖角
      kCGLineJoinRound:圆角
      kCGLineJoinBevel:缺角
    8. CGFloat miterLimit
      最大斜接长度(只有在使用kCGLineJoinMiter是才有效),边角的角度越小,斜接长度就会越大
    9. CGFloat flatness
      弯曲路径的渲染精度,默认为0.6,越小精度越高,相应的更加消耗性能。
    10. BOOL usesEvenOddFillRule
      单双数圈规则是否用于绘制路径,默认是NO

    画各种图形图形方法

    1. 移动到某一点
      - (void)moveToPoint:(CGPoint)point;
    2. 绘制一条线
      - (void)addLineToPoint:(CGPoint)point;
    3. 创建3次贝塞尔曲线
      - (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;
    4. 创建二次贝塞尔曲线
      - (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;
    5. 画一段圆弧
      - (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise
      各个参数的意义:
      center:圆心的坐标
      radius:半径
      startAngle:起始的弧度
      endAngle:圆弧结束的弧度
      clockwise:YES为顺时针,No为逆时针
    6. 关闭路径,在起点和终点连一条线
      - (void)closePath;
    7. 清空路径
      - (void)removeAllPoints;
    8. 追加路径
      - (void)appendPath:(UIBezierPath *)bezierPath
    9. 扭转路径,起点终点转换
      - (UIBezierPath *)bezierPathByReversingPath
    10. 路径进行仿射变换:
      - (void)applyTransform:(CGAffineTransform)transform
    11. 绘制虚线
      - (void)setLineDash:(nullable const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase
      参数
      pattern->C类型线性数据
      count->pattern中数据个数
      phase-> 起始位置
    12. 填充
      - (void)fill
    13. 描边
      - (void)stroke
    14. 设置描边的颜色
      [[UIColor blackColor] setStroke];
    15. 设置描边的混合模式
      - (void)fillWithBlendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha
      参数:
      blendMode->混合模式 alpha->透明度
    16. 设置填充的混合模式
      - (void)strokeWithBlendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha;
    17. 修改当前图形上下文的绘图区域可见,随后的绘图操作导致呈现内容只有发生在指定路径的填充区域
      - (void)addClip

    参考文档:http://www.jianshu.com/p/7c03f7e9ed57

    相关文章

      网友评论

          本文标题:贝塞尔曲线

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