Finding “equivalent” color with opacity

后端 未结 6 976
深忆病人
深忆病人 2020-12-12 09:56

Say I have a background color with a \"ribbon\" running over it in another solid color. Now, I want the ribbon to be partially transparent to let some details blend through,

6条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-12 10:31

    From @Phrogz' answer:

    r3 = r2 + (r1-r2)*a1
    g3 = g2 + (g1-g2)*a1
    b3 = b2 + (b1-b2)*a1
    

    So:

    r3 - r2 = (r1-r2)*a1
    g3 - g2 = (g1-g2)*a1
    b3 - b2 = (b1-b2)*a1
    

    So:

    r1 = (r3 - r2) / a1 + r2
    g1 = (g3 - g2) / a1 + g2
    b1 = (b3 - b2) / a1 + b2
    

    Note you can pick any value of a1, and this will find the corresponding values of r1, g1, and b1 required. For example, picking an alpha of 1 tells you that you need RGB1 = RGB3, but picking an alpha of 0 gives no solution (obviously).

提交回复
热议问题