概述
我的iPhone应用程序在模拟器(iMac)中的背景颜色与设备上的颜色(iPhone 3GS)不同。
编辑(已添加以下部分)
以下各项不同:
我想我应该看看它在设备上的外观。
问题
答案 0 :(得分:19)
@ jtbandes建议发送导致解决方案的屏幕截图
我只是回答完整性的问题。
我遵循的步骤:
我的RGB偏移(不要盲目跟踪)
根据我的经验,我添加了以下RGB值来获得我想要的颜色,它只是粗略的并且适合我:
不同角度(最好保持水平)
以不同的角度握住手机也会产生不同的阴影,保持水平确实给出了颜色
答案 1 :(得分:9)
正如其他人所指出的,这是色彩空间的问题。
需要执行两项任务:
任务1
您可以使用Apple的Digital Color Meter
应用使用Display in sRGB
选项对所需颜色进行采样,但输出非常有限。
另一种选择是使用像SipIt
这样的应用程序(在App Store上免费提供,最后我检查过)。通过执行以下操作确保您在正确的色彩空间中采样:
Preferences -> General -> Color Profiles -> sRGB
您还可以设置输出格式(例如十六进制字符串)。
在Interface Builder中,打开Color窗口,选择第二个窗格,选择" RGB Sliders"。然后单击齿轮图标以选择sRGB颜色配置文件。
完成后,将您的颜色值粘贴到Hex Color #
字段
你完成了!你的颜色现在应该匹配。
我不以任何方式与SipIt有任何关系。但我已经使用它几年了,它非常方便。我推荐给任何设计师。
答案 2 :(得分:8)
当前(截至2014年3月17日)CGColorSpace参考包含以下文本,其中sRGB是iOS的本机设备颜色空间。
色彩空间和iOS:iOS不支持ColorSync,因此所有资源都应在本机设备色彩空间中提供:sRGB。
答案 3 :(得分:4)
关于色彩空间。
确保从sRGB
颜色空间中选择颜色,然后从下拉菜单中选择sRGB IEC61966-2.1
,在Interface Builder上复制其RGBA值。
如果您在一个色彩空间中选择一种颜色,并在不同的色彩空间中生成它,尽管复制了相同的RGBA值,它看起来会有所不同。
另外,请记住,当您使用UIColor(red:green:blue:alpha:)
通过代码生成颜色时,默认情况下会在sRGB
颜色空间生成颜色。这就是为什么使用这个(而不是Adobe RGB
,P3
或任何其他)这么方便。此外,sRGB
是目前业内使用最多的标准。
有趣的事实:我上面提到的UIColor
构造函数在Xcode8之后在sRGB
空间中创建了颜色。之前,该函数用于在Generic RGB
空间内创建它们。这就是它可能引起混淆的原因。
这是一个扩展主题的资源:https://medium.com/@volbap/working-efficiently-with-colors-in-xcode-bc4c58b16f9a
答案 4 :(得分:1)
iPhone确实使用色彩空间管理,因此如果您想要更“科学”的解决方案,您可以创建自己的色彩空间,例如使用CGColorSpaceCreateCalibratedRGB
。它虽然在Core图形级别上。
答案 5 :(得分:1)
将RGB值转换为sRGB的更好方法是在mac中使用“Digital Color Meter”工具,只需选中“在sRGB中显示”
使用此工具,您可以找到通用RGB颜色并将其直接设置为xcode作为RGB值
答案 6 :(得分:1)
在您的应用中处理图片文件时的一个更简单的解决方案。首先,将Xcode中的色彩空间设置为sRGB IEC61966-2.1并应用您的颜色。然后,在将任何图片导入应用程序之前,请使用Mac上的ColorSync Utility将图像与sRGB IEC61966-2.1配置文件相匹配。 完美地为我和我的背景工作现在完全匹配我导入的图像。希望这有助于某人。
答案 7 :(得分:0)
我遇到了类似的问题,尤其是项目中的绿色问题。我的问题是我的一些资产是在illustrator中创建的,颜色设置为CMYK而不是RGB。我不确定这是不是你的问题,但对于那些在将来偶然发现这个问题的人来说可能会有所帮助。我更改了插画师"文档颜色模式"到RGB,一切都很好。
答案 8 :(得分:0)
您可以将此webPage用于Xcode中的不同颜色组合。 例如,通用和设备颜色有点不同。