2011-11-26 48 views

回答

268

这里是由谷歌工程师插图的优秀文章:

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

PorterDuff被描述为,好像他们是“纸板的不规则形状的碎片”的图像相结合的覆盖在一个方式彼此以及混合重叠部分的方案。

组合图像的默认Android方式是PorterDuff.Mode.SRC_OVER,这相当于通过绘制源图像/颜色目标图像。换句话说,它会按照您所期望的方式绘制源图像(您正在绘制的图像),并将目标图像显示在源图像的alpha所定义的角度上。

PorterDuff infographic from the article

您可以使用键下方,了解代数是the Android docs用来形容其他模式(见the article具有相同条件更充分desription)。

  • 源阿尔法
  • 源颜色
  • 目的地阿尔法
  • 直流目的地颜色

凡alpha是值[0..1],和颜色每ch替换一次annel(对红色,绿色和蓝色分别使用一次公式)

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

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

alpha-valuecolor-value分别是用于生成所得到的阿尔法通道和每个颜色chanel的公式。