PorterDuff.Mode在android图形中意味着什么。它做什么?

时间:2011-11-26 16:56:57

标签: android graphics porter-duff

我想知道 PorterDuff.Mode 在Android图形中的含义。

我知道这是传输模式

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

2 个答案:

答案 0 :(得分:310)

这是一篇由Google工程师提供插图的精彩文章:

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

PorterDuff被描述为一种将图像组合在一起的方式,好像它们是不规则形状的纸板和#34;彼此重叠,以及混合重叠部分的方案。

组合图像的默认Android方式是PorterDuff.Mode.SRC_OVER,这相当于在目标图像上绘制源图像/颜色。换句话说,它会按照您的预期进行操作,并在目标图像(画布)上绘制源图像(您正在绘制的图像),目标图像显示为源图像定义的程度&# 39; s alpha。

PorterDuff infographic from the article

您可以使用下面的代码来理解the Android docs用来描述其他模式的代数(请参阅the article了解更详细的类似术语)。

      
  • Sa 来源alpha
  •   
  • Sc 源颜色
  •   
  • Da 目的地alpha
  •   
  • Dc 目标颜色

其中alpha是值[0..1],每个通道替换一次颜色(因此对红色,绿色和蓝色使用一次公式)

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

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

其中alpha-valuecolor-value分别是生成alpha chanel和每个颜色chanel的公式。

答案 1 :(得分:4)

它定义了如何根据alpha值组合图像。点击此处http://en.wikipedia.org/wiki/Alpha_compositing