Ios 颜色计算:增加alpha,但在白色背景上保持相同的颜色外观
一般问题: 如何计算颜色的RGB值,使其在更改alpha分量时在白色背景上保持不变 附加问题: 如何使用非白色背景色执行相同操作 注意事项:Ios 颜色计算:增加alpha,但在白色背景上保持相同的颜色外观,ios,css,math,colors,uicolor,Ios,Css,Math,Colors,Uicolor,一般问题: 如何计算颜色的RGB值,使其在更改alpha分量时在白色背景上保持不变 附加问题: 如何使用非白色背景色执行相同操作 注意事项: 我知道,这不可能适用于所有颜色。例如,不能增加rgba(1,0,0,1)的第一个参数来补偿像rgba(1.1,0,0.9)那样的alpha 这对于单色颜色来说是微不足道的,如本例中所示: 我当前的用例: 我正在开发一款iOS应用程序,它有一个略微透明的状态栏/导航栏。该条应与内容视图中的某些(不透明)对象具有相同的颜色。如果我将相同的颜色应用于条形图,但
我还需要一个类似web应用的css解决方案。使用
[uicolorWithred:191.0/255.0绿色:127.0/255.0蓝色:127.0/255.0 alpha:1.0]
如果希望不透明度值为90%,请将alpha设置为0.9
编辑:您无法使用不透明度获得另一种颜色的确切颜色,相反,最好使用纯色RGB并添加不透明度值。与其设置.95 alpha颜色来模拟不透明颜色,不如尝试反向操作,并使用透明视图作为指导设置不透明颜色 通过这种方式,您可以使用CG图像上下文组合两个视图--其中一个在.95 alpha背景色下有纯白背景色--然后获取生成视图的像素颜色,然后可以将其设置为不透明视图的颜色
关于如何获得像素的颜色,这里有一个很好的答案:好的,我有一个解决我的用例的方法,我想与大家分享 然而,这并不是我最初问题的答案,这个问题是关于调整颜色所需的数学计算。
我仍然对“真实”的答案很感兴趣 无论如何,我的解决方案是:
我正在将所有viewController视图的背景色属性设置为不带alpha的原始颜色。我使用的是patternImageColor,尺寸为1x2048 px,其顶部64个像素为原始条形图颜色,其余为表格背景色。
原始条颜色通过半透明条颜色发光,从而再次显示为原始颜色。滚动“在”条之间的内容背景仍会在条中闪烁 所以我知道这个问题现在已经有将近一年的历史了,但我也遇到了同样的问题并找到了解决方案,所以我想与大家分享一下。这个术语是“alpha合成”,维基百科上有一篇很好的文章 在您的情况下,您正在使用完全不透明的白色rgba(255255,1)合成颜色 我做了一个excel计算器来做这个。我不知道如何将单元格值本身放入StackOverflow,所以这里是forumulas的屏幕截图。橙色单元格用于输入 然后可以更改A10-A13以定义初始颜色,更改D10以指定所需的alpha
Combined known colors
Color 1 Color 2 Combined
A 0.15 1 =$B$3+$C$3*(1-$B$3)
R 255 255 =(1/($D$3))*(B4*$B$3+C4*$C$3*(1-$B$3))
G 0 255 =(1/($D$3))*(B5*$B$3+C5*$C$3*(1-$B$3))
B 0 255 =(1/($D$3))*(B6*$B$3+C6*$C$3*(1-$B$3))
1 Known Color, Known result Alpha
Color 1 Color 2 Combined
A 0.15 =(D10-B10)/(1-B10) 0.85
R 255 255 =(1/($D$10))*(B11*$B$10+C11*$C$10*(1-$B$10))
G 255 255 =(1/($D$10))*(B12*$B$10+C12*$C$10*(1-$B$10))
B 0 255 =(1/($D$10))*(B13*$B$10+C13*$C$10*(1-$B$10))
我不认为这是在回答问题。在我的情况下,“指南”的颜色来自客户提供的图像,所以我不能按照你的建议去做。然而,对于其他用例,这可能是一种可行的方法。我还希望有人能提供一些有关这方面的数学知识。