[英]How to change color of the UIImage
實現此目的的一種方法是使用定義圖像的哪些區域應該着色的蒙版圖像:
這可以通過UIGraphicsImageRenderer
完成,請參閱使用蒙版着色 UIImage 以獲取示例操場。
import UIKit
let image = UIImage(named: "landscape.jpg")!
let mask = UIImage(named: "mask.png")!
let imageRenderer = UIGraphicsImageRenderer(size: image.size)
let tintedImage = imageRenderer.image { (ctx) in
let cgContext = ctx.cgContext
let rect = CGRect(origin: .zero, size: image.size)
image.draw(in: rect)
cgContext.saveGState()
cgContext.translateBy(x: 0, y: rect.size.height)
cgContext.scaleBy(x: 1.0, y: -1.0);
cgContext.clip(to: rect, mask: mask.cgImage!)
cgContext.setBlendMode(.color)
UIColor.red.setFill()
cgContext.fill(rect)
cgContext.restoreGState()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.