一尘不染

RGB值的加法混色算法

algorithm

我正在寻找一种算法来对RGB值进行加色混合。

像将RGB值加起来最大为256一样简单吗?

(r1, g1, b1) + (r2, g2, b2) =
    (min(r1+r2, 256), min(g1+g2, 256), min(b1+b2, 256))

阅读 884

收藏
2020-07-28

共1个答案

一尘不染

这取决于您想要什么,并且可以帮助您查看不同方法的结果。

如果你想

红色+黑色=红色
红色+绿色=黄色
红色+绿色+蓝色=白色
红色+白色=白色 
黑色+白色=白色

然后使用夹具进行添加(例如min(r1 + r2, 255)),这更像您所引用的光源模型。

如果你想

红色+黑色=深红色
红色+绿色=深黄色
红色+绿色+蓝色=深灰色
红色+白色=粉色
黑色+白色=灰色

那么您需要对这些值进行平均(例如(r1 + r2) / 2)。这对于变亮/变暗颜色以及创建渐变效果更好。

2020-07-28