// // ImageColourMask.swift // // Created by Rob Mathers on 2018-07-13. // Swift version of https://gist.github.com/omz/1102091/e03982f00ecc34be6c40aedcb0932ed374992741 // Original Objective-C version by Marco Arment and Ole Zorn // // Usage example: // let maskedImage = UIImage(named: "test")?.maskedImage(color: UIColor.blue) import UIKit extension UIImage { func maskedImage(color: UIColor) -> UIImage? { let rect = CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height) UIGraphicsBeginImageContextWithOptions(rect.size, false, self.scale) let context = UIGraphicsGetCurrentContext() self.draw(in: rect) context?.setFillColor(color.cgColor) context?.setBlendMode(CGBlendMode.sourceAtop) context?.fill(rect) let result = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return result } }