iOS通过alpha通道来自由改变图片的颜色

利用blend来改变

// 输出改变颜色的图片
extension UIImage {
    
    func imageWithTintColor(tintColor: UIColor) -> UIImage {
        UIGraphicsBeginImageContextWithOptions(self.size, false, 0.0)
        tintColor.setFill()
        let bounds = CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height)
        UIRectFill(bounds)
        
        self.draw(in: bounds, blendMode: .destinationIn, alpha: 1.0)
        
        let tintedImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        
        return tintedImage!
    }
}

你可能感兴趣的:(iOS通过alpha通道来自由改变图片的颜色)