创建和绘制渐变

Core Graphics 允许开发者创建两种类型的渐变:线性和渐变的。线性渐变以某种颜色从一个点开始,以另一种颜色在其他点结束。

CGGradientCreateWithColorComponents

调用CGGradientCreateWithColorComponents函数创建一个线性渐变。这个函数的返回值是一个新类型CGGradientRef的渐变。这是一个句柄,不再使用的时候要调用CGGradientRelease。

space:色彩空间,是一个色彩范围的容器。

components:颜色分量的数组,这个数组必须包含红绿蓝、alpha值。如果需要两个位置(起点、终点),那么必须为数组提供两种颜色。因为每个颜色是由红绿蓝、alpha组成,所以这个数组就有2x4项,第一个颜色4项,第二个颜色4项。

locations:位置数组,颜色数组中各个颜色的位置,此参数控制该渐变从一种颜色过渡到另一种颜色的速度有多快。该数组中元素的数量必须和第四个参数的值相同。

count:位置数组的元素数量,这个参数指明了我们需要多少颜色和位置。

CGContextDrawLinearGradient

CGContextRef:指定用于绘制线性渐变的图形上下文;

gradient:使用CGGradientCreateWithColorComponents创建的线性渐变对象的句柄。

options:当你的起点和终点不在图形上下文的边缘时,指定该如何处理。你可以使用你的开始或结束颜色来填充渐变以外的空间。

kCGGradientDrawsBeforeStartLocation:扩展整个渐变到渐变的起点之前的所有点。

kCGGradientDrawsAfterEndLocation:扩展整个渐变到渐变的终点之后的所有点。

0:不扩展该渐变

你可能感兴趣的:(创建和绘制渐变)