我正在寻找一种算法来对RGB值进行加色混合。
像将RGB值加起来最大为256一样简单吗?
(r1, g1, b1) + (r2, g2, b2) = (min(r1+r2, 256), min(g1+g2, 256), min(b1+b2, 256))
这取决于您想要什么,并且可以帮助您查看不同方法的结果。
如果你想
红色+黑色=红色 红色+绿色=黄色 红色+绿色+蓝色=白色 红色+白色=白色 黑色+白色=白色
然后使用夹具进行添加(例如min(r1 + r2, 255)),这更像您所引用的光源模型。
min(r1 + r2, 255)
红色+黑色=深红色 红色+绿色=深黄色 红色+绿色+蓝色=深灰色 红色+白色=粉色 黑色+白色=灰色
那么您需要对这些值进行平均(例如(r1 + r2) / 2)。这对于变亮/变暗颜色以及创建渐变效果更好。
(r1 + r2) / 2