Objective-C的Core Graphics框架中提供了绘制路径的UIBezierPath类,它可以帮助我们创建基于矢量的路径。通过Core Graphics实现的绘图功能要比加载图片的效率高,而且还可以使用CATransaction来实现动画效果。今天我们就来教怎么做一个颜色渐变的爱心。效果图先放上来:
做法是创建一个UIBezierPath实例,然后在view上面绘制出爱心的路径来,分别绘制了两个弧线和两条直线:
完成了绘制矢量路径后,为了实现图片效果,我们还需要创建两个CAShapLayer,一个用于绘制爱心的边缘线,另一个用于爱心的实体。CAShapeLayer可以通过path生成图形:
最后因为CAShapeLayer只能设置两个点之间的渐变色,无法实现弧线的颜色渐变,所以我们还需要CAGradientLayer来帮助我们实现颜色渐变,并将CAShapeLayer设置为它的蒙版,实现最后的爱心图像。
作品在这里就完成了,虽然简陋,但是也足以证明Core Graphics框架的强大