PorterDuffXfermode

本文介绍了Thomas Porter和Tom Duff提出的Porter-Duff模型,详细解释了该模型中各种组合规则的作用及应用场景,包括SRC_OVER、DST_IN等,为图像合成提供了重要的理论依据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 名字由来及其核心作用
    Thomas Porter和Tom Duff于1984年在ACM SIGGRAPH计算机图形学刊物上发表了《Compositing digital images》。在这篇文章中详细介绍了一系列不同的规则用于彼此重叠地绘制图像;这些规则中定义了哪些图像的哪些部分将出现在输出结果中。

  • 示意图
    列表内容

  • 详细说明

    1. PorterDuff.Mode.CLEAR
      绘制不会提交到画布上
    2. PorterDuff.Mode.SRC
      只显示绘制源图像
    3. PorterDuff.Mode.DST
      只显示目标图像,即已在画布上的初始图像
    4. PorterDuff.Mode.SRC_OVER
      正常绘制显示,即后绘制的叠加在原来绘制的图上
    5. PorterDuff.Mode.DST_OVER
      上下两层都显示但是下层(DST)居上显示
    6. PorterDuff.Mode.SRC_IN
      取两层绘制的交集且只显示上层(SRC)
    7. PorterDuff.Mode.DST_IN
      取两层绘制的交集且只显示下层(DST)
    8. PorterDuff.Mode.SRC_OUT
      取两层绘制的不相交的部分且只显示上层(SRC)
    9. PorterDuff.Mode.DST_OUT
      取两层绘制的不相交的部分且只显示下层(DST)
    10. PorterDuff.Mode.SRC_ATOP
      两层相交,取下层(DST)的非相交部分和上层(SRC)的相交部分
    11. PorterDuff.Mode.DST_ATOP
      两层相交,取上层(SRC)的非相交部分和下层(DST)的相交部分
    12. PorterDuff.Mode.XOR
      挖去两图层相交的部分
    13. PorterDuff.Mode.DARKEN
      显示两图层全部区域且加深交集部分的颜色
    14. PorterDuff.Mode.LIGHTEN
      显示两图层全部区域且点亮交集部分的颜色
    15. PorterDuff.Mode.MULTIPLY
      显示两图层相交部分且加深该部分的颜色
    16. PorterDuff.Mode.SCREEN
      显示两图层全部区域且将该部分颜色变为透明色

参考博文:http://blog.youkuaiyun.com/lfdfhl/article/details/51435968

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值