美文网首页
贝塞尔曲线

贝塞尔曲线

作者: 温暖的男人 | 来源:发表于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