zoukankan      html  css  js  c++  java
  • PorterDuff.Mode

    参考:http://weishu.me/2015/09/23/Xfermode-in-android/

    Sa = Source alpha
    Da = Dest alpha
    Sc = Source color
    Dc = Dst color
    如果用叠加的形式看,Dst是下面的图,也就是先画的图;Source是上面的图,也就是后面要画的图。

               

    ********************************************************************

    PorterDuff.Mode ADD Saturate(S + D)

    PorterDuff.Mode CLEAR [0, 0]

    PorterDuff.Mode DARKEN [Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + min(Sc, Dc)]

    PorterDuff.Mode DST [Da, Dc]

    PorterDuff.Mode DST_ATOP [Sa, Sa * Dc + Sc * (1 - Da)]
    源图像和目标图像相交处绘制目标图像,不相交的地方绘制源图像,并且相交处的效果会受到源图像和目标图像alpha的影响;

    PorterDuff.Mode DST_IN [Sa * Da, Sa * Dc]

    在相交的地方绘制DST,但是alpha受SRC影响

    PorterDuff.Mode DST_OUT [Da * (1 - Sa), Dc * (1 - Sa)]

    PorterDuff.Mode DST_OVER [Sa + (1 - Sa)*Da, Rc = Dc + (1 - Da)*Sc]


    PorterDuff.Mode LIGHTEN [Sa + Da - Sa*Da, Sc*(1 - Da) + Dc*(1 - Sa) + max(Sc, Dc)]

    PorterDuff.Mode MULTIPLY [Sa * Da, Sc * Dc]

    PorterDuff.Mode OVERLAY

    PorterDuff.Mode SCREEN [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc]

    PorterDuff.Mode SRC [Sa, Sc]

    PorterDuff.Mode SRC_ATOP [Da, Sc * Da + (1 - Sa) * Dc]

    源图像和目标图像相交处绘制源图像,不相交的地方绘制目标图像,并且相交处的效果会受到源图像和目标图像alpha的影响;

    PorterDuff.Mode SRC_IN [Sa * Da, Sc * Da]

        就是在相交的地方绘制源图像;但是绘制的alpha通道受DST影响

    PorterDuff.Mode SRC_OUT [Sa * (1 - Da), Sc * (1 - Da)]

        在不相交的地方绘制源图像,在相交处根据DST的alpha进行过滤

    PorterDuff.Mode SRC_OVER [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc]

        从DST上面绘制SRC图像(透明度的叠加)

    PorterDuff.Mode XOR [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc]

     在不相交的地方按原样绘制源图像和目标图像,相交的地方受到对应alpha和色值影响

     

  • 相关阅读:
    面向对象设计原则之二:开放封闭原则
    面向对象设计原则之一:单一职责原则
    设计模式之四:适配器模式(Adapter Pattern)
    面向对象设计原则之六:合成/聚合复用原则
    设计模式之三:迭代器模式(IteratorPattern)
    面向对象设计原则之五:迪米特法则
    设计模式之二:观察者模式(Observer Pattern)
    五分钟搭建 Flash 视频直播站
    Flash Media Server 3 开发版供下载
    不掉线的路由器路由特殊技术分析
  • 原文地址:https://www.cnblogs.com/zengbobo-812796958/p/6070622.html
Copyright © 2011-2022 走看看