Android 关于PorterDuff.Mode

前言

在自定义View中PorterDuff.Mode也是经常使用的一个东西,它是一个枚举值。使用这个东西可以实现很多有趣的效果。下面我们来讲讲这个枚举值。
官网文档
我们可以将Mode分为两类,一类是Alpha合成(这一类比较直观),一类是混合(Blending)

Alpha合成

关于Alpha合成的枚举值有12种,在列举之前,我们先弄清楚sourcedestination的问题,按绘制顺序,source是你当前要绘制的,destination是已经绘制的,一下source称为源图像,destination设置为目标图像。下面我们一一列举这些值的作用。

  • CLEAR,橡皮擦效果
  • XOR,绘制两者的未重叠部分
  • source相关枚举
    • SRC 绘制源图像
    • SRC_IN 绘制源图像的重叠部分
    • SRC_OUT 绘制源图像的未重叠部分
    • SRC_OVER 两者都绘制,源图像覆盖在目标图像上
    • SRC_ATOP 绘制源图像的重叠部分和目标图像的未重叠部分
  • destination相关枚举
    • DST 绘制目标图像
    • DST_IN 绘制目标图像的重叠部分
    • DST_OUT 绘制目标图像的为重叠部分
    • DST_OVER 两者都绘制,目标图像覆盖在源图像上
    • DST_ATOP 绘制目标图像重叠部分和源图像的未重叠部分

甩手就是一张官方的效果图

Android 关于PorterDuff.Mode_第1张图片
Alpha合成.png

Blending(混合)

关于混合,具体怎么算的不怎么清楚,如果有兴趣,可以问问你们的UI,他(她)们肯定是知道的。

  • DARKEN
  • LIGHTEN
  • MULTIPLY
  • SCREEN
  • OVERLAY

甩手又是一张官方的效果图

Android 关于PorterDuff.Mode_第2张图片
Blending.png

你可能感兴趣的:(Android 关于PorterDuff.Mode)