[iOS]渐变色

2022-08-03  本文已影响0人  汴城码农
    // 初始化渐变色 layer
    CAGradientLayer *gradient = [CAGradientLayer layer];
    // 设置颜色数组 colors 是个 CGColorRef 对象数组
    gradient.colors     = @[(__bridge id)Theme_Red.CGColor, (__bridge id)RGB_COLOR_String(@"#F7F7F7").CGColor];
    // locations NSNumber数组,取值在[0, 1]范围内,颜色对应的位置,各个颜色之间的部分做渐变处理
    gradient.locations  = @[@0, @1];
    gradient.startPoint = CGPointMake(0, 0);
    gradient.endPoint   = CGPointMake(0, 1);
    gradient.frame      = frame;
    // 默认为 kCAGradientLayerAxial
    gradient.type = kCAGradientLayerAxial;
    [view.layer addSublayer:gradient];

    // 生成图片
    // 获取图像上下文
    UIGraphicsBeginImageContext(view.frame.size);
    // 将指定的层及其子层内容呈现在当前操作的上下文上
    [gradient renderInContext:UIGraphicsGetCurrentContext()];
    // 获取当前上下文的图像
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    // 关闭上下文
    UIGraphicsEndImageContext();
上一篇下一篇

猜你喜欢

热点阅读