來這里,了解很多問題,發掘更多。
?????? 傳送門->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
}
注意
以上內容為個人整理,如果有問題有出入或者你有更好的解決方法,還請賜教哦,感謝。