圆形渐变

时间:2014-03-15 21:15:11

标签: ios objective-c gradient quartz-2d

我已经搜索过,我似乎无法找到能够在下面的屏幕截图中显示效果的代码:

http://i.stack.imgur.com/MPAiA.png

我已经设法绘制圆圈并获得一个简单的从上到下渐变的工作,但我无法理解如何获得以下内容,所有帮助都非常感谢。

这就是我从头到底简单的渐变:

CGColorSpaceRef baseSpace = CGColorSpaceCreateDeviceRGB();
CGGradientRef gradient = CGGradientCreateWithColorComponents(baseSpace, colors, NULL, 2);
CGColorSpaceRelease(baseSpace), baseSpace = NULL;

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSaveGState(context);
CGContextAddEllipseInRect(context, rect);
CGContextClip(context);

CGPoint startPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMinY(rect));
CGPoint endPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMaxY(rect));

CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);
CGGradientRelease(gradient), gradient = NULL;

CGContextRestoreGState(context);

CGContextAddEllipseInRect(context, rect);
CGContextDrawPath(context, kCGPathStroke);

1 个答案:

答案 0 :(得分:3)