gpt4 book ai didi

cocoa-touch - 创建一个不透明的 UIColor,它看起来与另一个半透明的 UIColor 相同

转载 作者:行者123 更新时间:2023-12-05 01:04:21 26 4
gpt4 key购买 nike

这个颜色

[UIColor colorWithRed:75.0/255.0 
green:215.0/255.0
blue:100.0/255.0
alpha:0.5]

而这个,具有不同的 RGB 值且没有透明度,
[UIColor colorWithRed:165.0/255.0 
green:235.0/255.0
blue:177.0/255.0
alpha:1]

在白色背景上看起来完全一样。

我如何从第一个 UIColor到第二个 UIColor ?

最佳答案

好吧,答案将特别依赖于了解背景颜色。假设 backgroundColor,这样的事情会起作用和 sourceColor是 UIColors:

float blend(float src, float srcAlpha, float background) {
return (background + src * srcAlpha) / 2;
}
UIColor *result = [UIColor colorWithRed:blend([sourceColor red], [sourceColor alpha], [backgroundColor red])
green:blend([sourceColor green], [sourceColor alpha], [backgroundColor green])
blue:blend([sourceColor blue], [sourceColor alpha], [backgroundColor blue])
alpha:1.0f];

虽然数字不等于您的示例,但这是一个合理的通用混合函数。没有更多的例子,很难知道你的例子的曲线是什么。您使用的混合函数似乎对每个颜色分量使用不同的比率,或者您对结果颜色值的测量可能正在通过屏幕的颜色配置文件进行调整。

关于cocoa-touch - 创建一个不透明的 UIColor,它看起来与另一个半透明的 UIColor 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23400035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com