贝塞尔曲线
作者:
温暖的男人 | 来源:发表于
2017-05-27 13:51 被阅读18次
属性
-
CGPathRef CGPath
将UIBezierPath类转换成CGPath
-
BOOL empty
只读属性,路径上是否有有效元素
-
CGRect bounds
获取path的X坐标、Y坐标、宽度,高度为0
-
CGPoint currentPoint
当前path的位置
-
CGFloat lineWidth
path的宽度
-
CGLineCap lineCapStyle
端点样式
kCGLineCapButt:无端点
kCGLineCapRound:圆形端点
kCGLineCapSquare:方形端点
-
CGLineJoin lineJoinStyle
拐角样式
kCGLineJoinMiter:尖角
kCGLineJoinRound:圆角
kCGLineJoinBevel:缺角
-
CGFloat miterLimit
最大斜接长度(只有在使用kCGLineJoinMiter是才有效),边角的角度越小,斜接长度就会越大
-
CGFloat flatness
弯曲路径的渲染精度,默认为0.6,越小精度越高,相应的更加消耗性能。
-
BOOL usesEvenOddFillRule
单双数圈规则是否用于绘制路径,默认是NO
画各种图形图形方法
- 移动到某一点
- (void)moveToPoint:(CGPoint)point;
- 绘制一条线
- (void)addLineToPoint:(CGPoint)point;
- 创建3次贝塞尔曲线
- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;
- 创建二次贝塞尔曲线
- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;
- 画一段圆弧
- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise
各个参数的意义:
center:圆心的坐标
radius:半径
startAngle:起始的弧度
endAngle:圆弧结束的弧度
clockwise:YES为顺时针,No为逆时针
- 关闭路径,在起点和终点连一条线
- (void)closePath;
- 清空路径
- (void)removeAllPoints;
- 追加路径
- (void)appendPath:(UIBezierPath *)bezierPath
- 扭转路径,起点终点转换
- (UIBezierPath *)bezierPathByReversingPath
- 路径进行仿射变换:
- (void)applyTransform:(CGAffineTransform)transform
- 绘制虚线
- (void)setLineDash:(nullable const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase
参数
pattern->C类型线性数据
count->pattern中数据个数
phase-> 起始位置
- 填充
- (void)fill
- 描边
- (void)stroke
- 设置描边的颜色
[[UIColor blackColor] setStroke];
- 设置描边的混合模式
- (void)fillWithBlendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha
参数:
blendMode->混合模式 alpha->透明度
- 设置填充的混合模式
- (void)strokeWithBlendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha;
- 修改当前图形上下文的绘图区域可见,随后的绘图操作导致呈现内容只有发生在指定路径的填充区域
- (void)addClip
参考文档:http://www.jianshu.com/p/7c03f7e9ed57
本文标题:贝塞尔曲线
本文链接:https://www.haomeiwen.com/subject/daxjsttx.html
网友评论