Android 关于PorterDuff.Mode
2017-09-19 本文已影响0人
你怕是很皮哦
前言
在自定义View中PorterDuff.Mode也是经常使用的一个东西,它是一个枚举值。使用这个东西可以实现很多有趣的效果。下面我们来讲讲这个枚举值。
官网文档
我们可以将Mode分为两类,一类是Alpha合成(这一类比较直观),一类是混合(Blending)
Alpha合成
关于Alpha合成的枚举值有12种,在列举之前,我们先弄清楚source和destination的问题,按绘制顺序,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 绘制目标图像重叠部分和源图像的未重叠部分
甩手就是一张官方的效果图
Alpha合成.pngBlending(混合)
关于混合,具体怎么算的不怎么清楚,如果有兴趣,可以问问你们的UI,他(她)们肯定是知道的。
- DARKEN
- LIGHTEN
- MULTIPLY
- SCREEN
- OVERLAY
甩手又是一张官方的效果图
Blending.png