PorterDuff.Mode在Androidgraphics中意味着什么?它有什么作用?

我想知道什么PorterDuff.Mode意味着在Androidgraphics。

我知道这是一个转移模式

我也知道,它有属性,如DST_IN,Multiply等

这是一个很棒的文章,里面有一位Google工程师的插图:

http://ssp.impulsetrain.com/porterduff.html

PorterDuff被描述为一种组合图像的方式,好像它们是彼此重叠的“不规则形状的纸板块”,以及用于混合重叠部分的scheme。

构成图像的默认Android方式是PorterDuff.Mode.SRC_OVER ,它等同于在目标图像上绘制源图像/颜色。 换句话说,它会做你所期望的,并在目的图像(canvas)的顶部绘制源图像(你正在绘图的图像),目的图像显示到源图像的alpha所定义的程度。

来自文章的PorterDuff信息图

您可以使用下面的键来理解Android文档用于描述其他模式的代数(请参阅文章中的更全面的描述)。

  • Sa源阿尔法
  • Sc源颜色
  • Da目的地阿尔法
  • 目标颜色

其中alpha是一个值[0..1] ,并且每个通道的颜色被replace一次(所以对于红色,绿色和蓝色每个使用一次公式)

结果值在方括号中作为一对指定如下。

 [<alpha-value>,<color-value>] 

其中alpha-valuecolor-value分别是用于生成结果alpha通道和每个颜色color-value的公式。

它定义了如何构build基于alpha值的图像。 点击http://en.wikipedia.org/wiki/Alpha_compositing