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

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

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

我尝试过的事情

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

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

  • 重启 Xcode

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

【问题讨论】:

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

标签: swift uiimage uikit swift-playground


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我认为最好在 Xcode 中更改它(通过 UImageView 的背景颜色)并保持图像不变。
    • 这绝对是一个好主意,但是对于我正在做的事情来说,它并不是很实用。我正在使用 UIGraphicsImageContext 从多个图像创建一个图像。
    猜你喜欢
    • 2013-03-26
    • 1970-01-01
    • 2019-01-15
    • 2013-05-26
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多