我有两种颜色定义为 RGBA(在我的具体示例中,其中一种是 [alpha 为 0.85 的白色] 和 [57、40、28 的 alpha 为 0.25]。第二种颜色绘制在第一种颜色上(即白色与 alpha是背景,第二种颜色用于绘图)。我怎样才能确定组合的 RGBA 颜色是什么?我需要一次性完成 - 所以任何工具都可以(例如,我很高兴在 Photoshop 中画一些东西,看看结果如何)。
我有几套要组合,但不要太多。任何指针?谢谢。
我有两种颜色定义为 RGBA(在我的具体示例中,其中一种是 [alpha 为 0.85 的白色] 和 [57、40、28 的 alpha 为 0.25]。第二种颜色绘制在第一种颜色上(即白色与 alpha是背景,第二种颜色用于绘图)。我怎样才能确定组合的 RGBA 颜色是什么?我需要一次性完成 - 所以任何工具都可以(例如,我很高兴在 Photoshop 中画一些东西,看看结果如何)。
我有几套要组合,但不要太多。任何指针?谢谢。
使用Painter 算法时,大多数颜色合成是使用Porter-Duff “Over”模式完成的:
产生的阿尔法:
αr = αa + αb (1 - αa)
产生的颜色分量:
Cr = (Ca αa + Cb αb (1 - αa)) / αr
所以对于你的例子:
alpha = 0.25 + 0.85 * (1 - 0.25) = 0.8875
red = (57 * 0.25 + 255 * 0.85 * (1 - 0.25)) / 0.8875 = 199.2
green = (40 * 0.25 + 255 * 0.85 * (1 - 0.25)) / 0.8875 = 194.4
blue = (28 * 0.25 + 255 * 0.85 * (1 - 0.25)) / 0.8875 = 191.1
请参阅有关 alpha 合成的维基百科文章。