MILLEN BOX

音楽好きの組み込みソフトエンジニアによるプログラミング(主にiOSアプリ開発)の勉強の記録

UIImageを塗りつぶしてみよう [UIImage]

ふとUIImageを塗りつぶしたいと思ったのですがちょっと詰まった為、以下にメモを残しておきます。

以下の記事をがっつり参考にしました。

qiita.com

ソースを以下に貼っておきます。

func fillColorWithUIImage(image: UIImage) -> UIImage {
        let imageSize = CGSizeMake(image.size.width, image.size.height)               //サイズの決定
        let imageRect = CGRectMake(0, 0, imageSize.width, imageSize.height)         //キャンバスのRectの決定
        UIGraphicsBeginImageContextWithOptions(imageSize, false, 0.0)               //コンテキスト作成(キャンバスのUIImageを作成する為)
        UIColor.whiteColor().setFill()                                              //白色塗りつぶし作業1
        UIRectFill(imageRect)                                                       //白色塗りつぶし作業2
        image.drawInRect(imageRect)                                                 //内容を描く(真っ白)
        let retImage = UIGraphicsGetImageFromCurrentImageContext()                  //何も描かれてないUIImageを取得
        UIGraphicsEndImageContext()                                                 //コンテキストを閉じる
        return retImage                                                             //塗りつぶしUIImageを返す
}

以上です。