加载时Swift改变图像的颜色

Posted

技术标签:

【中文标题】加载时Swift改变图像的颜色【英文标题】:Swift changes colour of image when loaded 【发布时间】:2016-07-12 02:11:10 【问题描述】:

我在 Xcode 7.3.1 中有一个快速的操场,我正在尝试使用 let mouth = UIImage(named: "happy-mouth") 将此图像 加载到我的程序中。当程序运行时,swift编译器会返回这样的图像......

为什么 swift playground 将图像的颜色改为栗色而不是桃色?

我尝试过的事情

检查图片名称是否为“happy-mouth.png”

快速检查图片是否在我的资源文件夹下

重启 Xcode

谷歌搜索我的问题并在 *** 上搜索它

【问题讨论】:

图片可能是透明的?如果将其添加到 UIImageView 并将背景颜色设置为白色怎么办? 谢谢,我刚刚意识到图像是部分透明的,愚蠢的我,我应该检查一下。 【参考方案1】:

这是透明图像的常见问题。因为它们通常显示在 UIImageView 中,它从其父视图(父视图)继承背景颜色,通常是白色,您不会注意到这一点。

不要修改图像,而是将其放入UIImageView 并将背景颜色(UIImageView)设置为白色。

【讨论】:

【参考方案2】:

问题很可能是您拥有的图像是部分透明的,因为与它在白色背景上的显示方式相比,它与背后的深色混合在一起改变了它的显示方式。要解决此问题,请返回您的图像编辑器(例如草图、photoshop、illustrator)并使颜色不透明。

【讨论】:

我认为最好在 Xcode 中更改它(通过 UImageView 的背景颜色)并保持图像不变。 这绝对是一个好主意,但是对于我正在做的事情来说,它并不是很实用。我正在使用 UIGraphicsImageContext 从多个图像创建一个图像。

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

在 Swift 中按下 uibutton 时更改色调图像颜色

imagecreatefromstring 改变图像颜色

色调颜色正在改变导航栏中图像的颜色 swift 3

如何在 tabBar swift 中更改项目或图像颜色?

Swift 中的 UIImagePickerController 图像

在android中动态改变SVG图像颜色