美文网首页
iOS开发基础性知识(三)----我所了解的贝塞尔曲线

iOS开发基础性知识(三)----我所了解的贝塞尔曲线

作者: NBeanN | 来源:发表于2017-05-02 16:25 被阅读21次

    一、性能方面

    DrawRect:DrawRect属于CoreGraphic框架,占用CPU,消耗性能大

    CAShapeLayer:CAShapeLayer属于CoreAnimation框架,通过GPU来渲染图形,节省性能。动画渲染直接提交给手机GPU,不消耗内存

    二、贝塞尔曲线与CAShapeLayer的关系

    1,CAShapeLayer中shape代表形状的意思,所以需要形状才能生效

    2,贝塞尔曲线可以创建基于矢量的路径

    3,贝塞尔曲线给CAShapeLayer提供路径,CAShapeLayer在提供的路径中进行渲染。路径会闭环,所以绘制出了Shape

    4,用于CAShapeLayer的贝塞尔曲线作为Path,其path是一个首尾相接的闭环的曲线,即使该贝塞尔曲线不是一个闭环的曲线

    UIBezierPath对象是CGPathRef数据类型的封装。path如果是基于矢量形状的,都用直线和曲线段去创建。我们使用直线段去创建矩形和多边形,使用曲线段去创建弧(arc),圆或者其他复杂的曲线形状。每一段都包括一个或者多个点,绘图命令定义如何去诠释这些点。每一个直线段或者曲线段的结束的地方是下一个的开始的地方。每一个连接的直线或者曲线段的集合成为subpath。一个UIBezierPath对象定义一个完整的路径包括一个或者多个subpaths。

    参考文章

    站在巨人的肩膀上才有这些总结

    菜鸟走向大牛,大家共同前进,如果觉得不错,请给个赞/关注。

    一起交流学习,有问题随时欢迎联系,邮箱:383708669@qq.com

    相关文章

      网友评论

          本文标题:iOS开发基础性知识(三)----我所了解的贝塞尔曲线

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