CoreGraphics 渐变(2)

http://my.oschina.net/CarlHuang/blog/138766



使用CoreGraphics 绘制渐变效果。

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
-( void )drawRect:(CGRect)rect
{
     CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
     UIColor * startColor = [UIColor blueColor];
     CGFloat * startColorComponents = (CGFloat *)CGColorGetComponents([startColor CGColor]);
     UIColor * endColor = [UIColor greenColor];
     CGFloat * endColorComponents = (CGFloat *)CGColorGetComponents([endColor CGColor]);
     
     CGFloat colorComponents[8] = {
         startColorComponents[0],
         startColorComponents[1],
         startColorComponents[2],
         startColorComponents[3],
         
         endColorComponents[0],
         endColorComponents[1],
         endColorComponents[2],
         endColorComponents[3]
     };
     
     CGFloat colorIndices[2] = {0.0f,1.0f};
     CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, ( const CGFloat *)&colorComponents, ( const CGFloat *)&colorIndices, 2);
      CGColorSpaceRelease(colorSpace);
     
     CGRect screenBounds = [[UIScreen mainScreen] bounds];
     CGPoint startPoint, endPoint;
     startPoint = CGPointMake(0.0f, screenBounds.size.height/2.0f);
     endPoint = CGPointMake(screenBounds.size.width, startPoint.y);
     
     CGContextRef currentContext = UIGraphicsGetCurrentContext();
     CGContextDrawLinearGradient(currentContext,gradient , startPoint, endPoint, 0);
     
     CGGradientRelease(gradient);
      
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值