CAShapeLayer与UIBezierPath 行为艺术师

CAShapeLayer简介

1.1 CAShapeLayer继承自CALayer,继承了属性方法CAShapeLayer,功能强大

CAShapeLayer是矢量图形绘制的图层子类。设定颜色和线宽等属性,类似于ps软件的钢笔功能如CGPath来定义想要绘制的图形,自动渲染出来了。当然,另一种选择Core Graphics直接向原始的CALyer的内容中绘制一个路径,但是:CAShapeLayer优点多多:

今天制作花版功能,10000层,相差20s。

  1. 渲染快,CAShapeLayer的硬件加速,比同级别的Core Graphics强不少。
  2. 内存高效处理。CALayer需要构建uiview类似的生命体系,CAShapeLayer开启对应模拟花板而已。
  3. 跨越便捷的CAShapeLayer可以在边界之外绘制,结合ios 去除图像叠加行数,非常便捷
  4. CAShapeLayer 可快速的3D变换时。

1.2 CAShapeLayer与贝塞尔曲线相辅相成。

贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如PhotoShop等。在Flash4中还没有完整的曲线工具,而在Flash5里面已经提供出贝塞尔曲线工具。

1.3 使用CAShapeLayer与贝塞尔曲线可以实现不在view的drawRect方法中画出有一些想要的图形

1.4 CAShapeLayer属于CoreAnimation框架,其动画渲染直接提交到手机的GPU当中,相较于view的drawRect方法使用CPU渲染而言,其效率极高,能大大优化内存使用情况。

2、CAShapeLayer与UIBezierPath的关系

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

2.2 贝塞尔曲线可以创建基于矢量的路径,而UIBezierPath类是对CGPathRef的封装

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值