漸變圖片創建

來這里,了解很多問題,發掘更多。
?????? 傳送門->Have-a-problem??????

色彩網站

分享->??????傳送門??????

示例代碼

func imageForColors(colors: Array<UIColor> = [], withFrame frame: CGRect) -> UIImage? {
    guard colors.count > 0 else {
        return nil
    }
    
    var cgArrayColor: Array<CGColor> = []
    for color in colors {
        cgArrayColor.append(color.cgColor)
    }
    UIGraphicsBeginImageContextWithOptions(frame.size, true, 1.0)
    let context = UIGraphicsGetCurrentContext()
    context?.saveGState()
    var colorSpace = (colors.last?.cgColor)!.colorSpace
    var gradient = CGGradient(colorsSpace: colorSpace, colors: cgArrayColor as CFArray, locations: nil)
    context?.drawLinearGradient(gradient!, start: CGPoint.init(x: 0.0, y: frame.size.height), end: CGPoint.init(x: frame.size.width, y: 0.0), options: .drawsBeforeStartLocation)
    
    let image = UIGraphicsGetImageFromCurrentImageContext()
    gradient = nil
    context?.restoreGState()
    colorSpace = nil
    UIGraphicsEndImageContext()
    
    return image
}

注意

以上內容為個人整理,如果有問題有出入或者你有更好的解決方法,還請賜教哦,感謝。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容