iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

Swiftで単色のUIImageを生成する

本日はSwiftの小ネタです👷‍♀️

結論

下記のようにして、単色のUIImageを取得することができます。UIGraphicsBeginImageContext()は、GraphicsContextを作成してスタックにプッシュします。次に、プッシュされたコンテキストをUIGraphicsGetCurrentContext()で取得して、色を設定します。最後にUIGraphicsGetImageFromCurrentImageContext()で、設定したコンテキストをUIImageで受け取り、作成したコンテキストをUIGraphicsEndImageContextでポップしています🏃🏻‍♂️

    func colorImage(color: UIColor, size: CGSize = CGSize(width: 100, height: 100)) -> UIImage? {
        UIGraphicsBeginImageContext(size)
 
        let rect = CGRect(origin: CGPoint.zero, size: size)
        let context = UIGraphicsGetCurrentContext()
        context?.setFillColor(color.cgColor)
        context?.fill(rect)
        let image = UIGraphicsGetImageFromCurrentImageContext()
 
        UIGraphicsEndImageContext()
 
        return image
    }

てな感じで本日も以上となります🍺

参考

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com