美文网首页
两个ARGB的混合blend

两个ARGB的混合blend

作者: gykimo | 来源:发表于2021-02-08 17:23 被阅读0次

    原文:https://blog.csdn.net/zpz_123123/article/details/104770801

    Alpha其实是指不透明度,这么理解会更容易一些。

    算法一:前后图片都有透明度

    R1、G1、B1、Alpha1 为前景颜色值,R2、G2、B2、Alpha2 为背景颜色值,则:

    Alpha = 1 - (1 - Alpha1) * ( 1 - Alpha2)
    R = (R1 * Alpha1 + R2 * Alpha2 * (1-Alpha1))/Alpha
    G = (G1 * Alpha1 + G2 * Alpha2 * (1-Alpha1))/Alpha、
    B = (B1 * Alpha1 + B2 * Alpha2 * (1-Alpha1))/Alpha
    

    优化1

    Alpha = 1 - (1 - Alpha1) * ( 1 - Alpha2)可以看出,只要Alpha1或者Alpha2有一个1,那么Alpha就是1,如果Alpha是1,那么可以进行优化,即:

    R = (R1 * Alpha1 + R2 * Alpha2 * (1-Alpha1))
    G = (G1 * Alpha1 + G2 * Alpha2 * (1-Alpha1))
    B = (B1 * Alpha1 + B2 * Alpha2 * (1-Alpha1))
    

    优化2

    如果Alpha1是1,那么

    R = R1
    G = G1
    B = B1
    

    相关文章

      网友评论

          本文标题:两个ARGB的混合blend

          本文链接:https://www.haomeiwen.com/subject/qlcfxltx.html