[Swift] 如何將顏色轉為圖檔?

在 iOS 的開發上,有時後將顏色轉為圖檔 (UIColor to UIImage) 是一個常見的案例,而 Swift 將顏色轉為圖檔的方式也相當簡單,只要短短幾行,就可以輕鬆辦到了。趕快來看這神奇的程式吧!

 

swift

 

為了方便使用,我們先來寫一個 UIColor 的擴充,其中 width 和 height 請置換成您想要要寬度或高度。

  1. extension UIColor {
  2.  
  3.     func toUIImage() -> UIImage?{
  4.         let rect = CGRect(origin: .zero, size: CGSize(width: width, height: height))
  5.         UIGraphicsBeginImageContextWithOptions(rect.size, false, 0.0)
  6.         setFill()
  7.         UIRectFill(rect)
  8.         let image = UIGraphicsGetImageFromCurrentImageContext()
  9.         UIGraphicsEndImageContext()
  10.  
  11.         guard let cgImage = image?.cgImage else { return nil }
  12.         return UIImage(cgImage: cgImage)
  13.     }
  14. }

 

那麼,接下來你會怎麼用呢?就依底下的用法用就好了。

  1. let color: UIColor = .white
  2. let image = color.toUIImage()

 

而這樣的寫法是我覺得最單純而且最容易的寫法了,大家可以參考看看唷!