CGColorRef & CGGradientRef

linear Gradient:

    // get context

    CGContextRef context = UIGraphicsGetCurrentContext();

    // 颜色

    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceCMYK();

    /*

    赤色 RGB255, 0, 0 CMYK 0, 100, 100, 0

    橙色 RGB 255, 165, 0 CMYK0, 35, 100, 0

    黄色 RGB255, 255, 0 CMYK0, 0, 100, 0

    绿色  RGB0, 255, 0 CMYK100, 0, 100, 0

    青色  RGB0, 127, 255 CMYK100, 50, 0, 0

    蓝色  RGB0, 0, 255 CMYK100, 100, 0, 0

    紫色  RGB139, 0, 255 CMYK45, 100, 0, 0

     */

    CGFloat components[] = {

        0, 100.0 / 255,100.0/255,0,

        0,35.0/255,100.0/255,0,

        0,0,100.0/255,0,

        100.0/255,0,100.0/255,0,

        100.0/255,50.0/255,0,0,

        100.0/255,100.0/255,0,0,

        45.0/255,100.0/255,0,0

    };

    

    // 位置

    CGFloat location[] = {0.0,1.0/6,2.0/6,3.0/6,4.0/6,5.0/6,1.0};

    // 渐变

    CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, components, location, 7);

    // draw

    CGContextDrawLinearGradient(context, gradient, CGPointMake(10, 20), CGPointMake(110, 20), 0);


-----------------------------------------------------

radial Gradient:

 // 获取上下文

    CGContextRef context = UIGraphicsGetCurrentContext();

    // RGB上下文渲染器

    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

    // 颜色容器

    NSArray *array = @[(__bridge id)[UIColor redColor].CGColor, (__bridge id)[UIColor blueColor].CGColor, (__bridge id)[UIColor purpleColor].CGColor];

    // 颜色分布的位置

    CGFloat location[] = {0.0,0.5,1.0};

    // 渐变器

    CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef)array, location)

    // 显示结果

    CGContextDrawRadialGradient(context, gradient, CGPointMake(100, 100), 50, CGPointMake(100, 100), 100, 0);



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值