簡單使用 UIColor 生成 UIImage

由于種種原因,簡書等第三方平臺(tái)博客不再保證能夠同步更新,歡迎移步 GitHub:https://github.com/kingcos/Perspective/。謝謝!

UIColor <-> UIImage

  • Info:
  • macOS 10.12.1
  • Xcode 8.1
  • Swift 3.0

前言

在平時(shí)的練習(xí)中,經(jīng)常需要使用 UIImage,但圖片又不好找。為了解決這個(gè)問題,我想到了使用 UIColor 生成 UIImage。該部分的具體知識(shí)涉及到 Core Graphics,也是一個(gè)新的知識(shí)點(diǎn)。在網(wǎng)上尋找一番,只有 Objective-C 版本,這次使用 Swift 3.0 進(jìn)行重寫。

Code

func generateImageWith(_ color: UIColor, andFrame frame: CGRect) -> UIImage? {
    // 開始繪圖
    UIGraphicsBeginImageContext(frame.size)
    
    // 獲取繪圖上下文
    let context = UIGraphicsGetCurrentContext()
    // 設(shè)置填充顏色
    context?.setFillColor(color.cgColor)
    // 使用填充顏色填充區(qū)域
    context?.fill(frame)
    
    // 獲取繪制的圖像
    let image = UIGraphicsGetImageFromCurrentImageContext()
    
    // 結(jié)束繪圖
    UIGraphicsEndImageContext()
    return image
}

使用時(shí)直接調(diào)用該方法,并傳入相應(yīng)參數(shù)即可,那么反過來呢?

let color = UIColor(patternImage: image!)

這樣就可以從圖片獲取顏色。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容