如何改变一个UIImage的颜色斯威夫特
我在迅速和我想要生成一个函数,它在一个UIImage和的UIColor,并返回一个UIImage重新着色如何改变一个UIImage的颜色斯威夫特
我不工作一个UIImageView,这些只是我打算用作图标的UIImage。有没有什么好的方法来实现这个?
回答:
您可以使用UIGraphicsBeginImageContextWithOptions开始的图像内容,设置所需的颜色和用图像的方法func draw(in rect: CGRect)
提醒你图标图像使用它的渲染模式.alwaysTemplate
:
extension UIImage { func tinted(with color: UIColor) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(size, false, scale)
defer { UIGraphicsEndImageContext() }
color.set()
withRenderingMode(.alwaysTemplate)
.draw(in: CGRect(origin: .zero, size: size))
return UIGraphicsGetImageFromCurrentImageContext()
}
}
游乐场测试
与PDFlet camera = UIImage(data: try! Data(contentsOf: URL(string: "/wp-content/uploads/new2022/20220327voicc/216154459.png")!))! let redCmera = camera.tinted(with: .red)
回答:
如果使用PNG图像(我想是因为图标) - 只需使用:
let originalImage = UIImage(named: "iconName") let tintedImage = originalImage?.withRenderingMode(.alwaysTemplate)
yourButton.setImage(tintedImage, forState: .normal)
yourButton.tintColor = UIColor.blue //change color of icon
以上是 如何改变一个UIImage的颜色斯威夫特 的全部内容, 来源链接: utcz.com/qa/257163.html