贝塞尔初探二画个风车

  1.使用贝塞尔画风车和画梯形的唯一区别就是风车需要曲线。


绘制如图所示的一段弧形,只要有三个标记点坐标即可。1为起点,3为中点,2为控制点

2.绘制之前我们头脑里要有一个风车形状:(我脑中的风车)


我们可以把这个风车分成两个图形的组合,(我是这样分割的,你也可以有其他多种分割方法)


3.开始绘制吧:

- (void)drawRect:(CGRect)rect{

//设置颜色

UIColor *color = [UIColor redColor];

[color set];

//初始化贝塞尔,绘制上半个风车

UIBezierPath *mPath = [[UIBezierPath alloc] init];

mPath.lineWidth = 5;//线条宽度

mPath.lineCapStyle = kCGLineCapRound;//拐角

mPath.lineJoinStyle = kCGLineCapRound;//终点

[mPath moveToPoint:CGPointMake(50, 200)];//起点

[mPath addQuadCurveToPoint:CGPointMake(150, 200) controlPoint:CGPointMake(100, 100)];//前一个参数是终点,后一个参数是控制点

[mPath addQuadCurveToPoint:CGPointMake(250, 200) controlPoint:CGPointMake(200, 300)];

[mPath fill];//填充色

//绘制下半个风车

UIBezierPath *nPath = [[UIBezierPath alloc] init];

nPath.lineWidth = 5;

nPath.lineCapStyle = kCGLineCapRound;

nPath.lineJoinStyle = kCGLineCapRound;

[nPath moveToPoint:CGPointMake(150, 100)];

[nPath addQuadCurveToPoint:CGPointMake(150, 200) controlPoint:CGPointMake(250, 150)];

[nPath addQuadCurveToPoint:CGPointMake(150, 300) controlPoint:CGPointMake(50, 250)];

[nPath closePath];//闭合

[nPath stroke];//边框填充

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 谈谈贝塞尔曲线 最近在做项目的时候,需要用到一个动画,非常简单的动画,简单到就是直接对一个View做平移… 然而虽...
    雨润听潮阅读 11,308评论 1 16
  • 概述 UIBezierPath用于定义一个由直线/曲线组合而成的路径, 并且可以在自定义视图中渲染该路径. 在使用...
    made_China阅读 5,101评论 0 1
  • 转至 http://blog.csdn.net/guo_hongjun1611/article/details/7...
    小地阅读 8,259评论 1 6
  • 1.设置定时任务可以定时启动特定任务 2.定时任务需可手动启动 3.如果定时任务跑的数据有问题,如何修复? 删除错...
    娜娜米阅读 1,579评论 0 0
  • 愿所有的快乐源远流长,愿所有的不安烟消云散!愿有限的时光不再彷徨,愿无限的思想有地安放! 有三两知己可以把酒言欢!...
    心动的涟漪阅读 2,629评论 0 1