// // Copyright (c) 2018 Open Whisper Systems. All rights reserved. // import Foundation extension UIImage { private func image(with view: UIView) -> UIImage? { UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.isOpaque, 0.0) defer { UIGraphicsEndImageContext() } guard let context = UIGraphicsGetCurrentContext() else { return nil } view.layer.render(in: context) let image = UIGraphicsGetImageFromCurrentImageContext() return image } @objc public func asTintedImage(color: UIColor) -> UIImage? { let template = self.withRenderingMode(.alwaysTemplate) let imageView = UIImageView(image: template) imageView.tintColor = color return image(with: imageView) } }