// 扩展 UIImage 的 init 方法,获得渐变效果
public extension UIImage {
convenience init?(gradientColors:[UIColor], size:CGSize = CGSizeMake(10, 10) )
{
UIGraphicsBeginImageContextWithOptions(size, true, 0)
let context = UIGraphicsGetCurrentContext()
let colorSpace = CGColorSpaceCreateDeviceRGB()
let colors = gradientColors.map {(color: UIColor) -> AnyObject! in return color.CGColor as AnyObject! } as NSArray
let gradient = CGGradientCreateWithColors(colorSpace, colors, nil)
// 第二个参数是起始位置,第三个参数是终止位置
CGContextDrawLinearGradient(context, gradient, CGPoint(x: 0, y: 0), CGPoint(x: size.width, y: 0), CGGradientDrawingOptions(rawValue: 0))
self.init(CGImage:UIGraphicsGetImageFromCurrentImageContext().CGImage!)
UIGraphicsEndImageContext()
}
}
Swift 渐变 image
最新推荐文章于 2021-08-05 17:25:18 发布