不能改变图像的颜色

Posted

技术标签:

【中文标题】不能改变图像的颜色【英文标题】:Can't change colour of image 【发布时间】:2020-08-03 15:28:24 【问题描述】:

我在我设置Render As Template 图像的资产中添加了 png 图像。以下是代码。为什么不将图像设置为白色?如何解决?

@IBOutlet weak var iconImageView: UIImageView!

iconImageView.image = UIImage(named: "ico")?.withRenderingMode(.alwaysTemplate)
iconImageView.tintColor = .white

【问题讨论】:

它应该可以工作。我试过你的代码,它对我有用。您可以在资产和代码中检查图像名称。 我认为图像本身有问题,不确定是什么。 你能把图片发给我吗?我可以检查并通知您。 imgur.com/a/Df8PgIH 刚刚发布了我的答案。请尝试一下。图像具有透明度,这就是颜色无法正常显示的原因。 【参考方案1】:

您的代码很好,并且运行良好。唯一的问题是图像具有透明度,这就是颜色无法正常显示的原因。

【讨论】:

【参考方案2】:

它应该工作。试试这个,几乎一样。

extension UIImageView 
func setImageColor(color: UIColor) 
    let templateImage = self.image?.withRenderingMode(UIImage.RenderingMode.alwaysTemplate)
    self.image = templateImage
    self.tintColor = color

【讨论】:

以上是关于不能改变图像的颜色的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV中的图像处理 —— 改变颜色空间+图像几何变换

imagecreatefromstring 改变图像颜色

android从左到右平滑地改变图像的颜色

.net 位图改变图像的颜色

如何去除太阳镜的反光并改变太阳镜镜片的颜色

加载时Swift改变图像的颜色