UIImageの透過部分に色をつける

September 29, 2015

もっとかっこいい書き方がありそうだけれど、とりあえずこれでやりたいことは実現できるので。

[code lang=Swift] extension UIImage { func fill(color: UIColor) -> UIImage { let rect = CGRect(origin: CGPointZero, size: self.size) UIGraphicsBeginImageContextWithOptions(rect.size, false, UIScreen.mainScreen().scale) let context = UIGraphicsGetCurrentContext()

CGContextSetFillColorWithColor(context, color.CGColor) CGContextFillRect(context, rect) self.drawInRect(rect)

let coloredImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return coloredImage } } [/code]

ただ単にイメージを描き直しているだけなんですが、その際に背景色を設定しています。パフォーマンス的にいいね!

IOS Simulator Screen Shot 2015 09 30 3 22 54

これはもともと透過のアイコンんイメージですが、透過部分を白に変えています。


Profile picture

Written by morizotter who lives and works in Tokyo building useful things. You should follow them on Twitter