153

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

我知道这是一种传输模式

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

4

2 回答 2

342

这是一篇由 Google 工程师提供的带有插图的优秀文章:

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

PorterDuff 被描述为一种组合图像的方式,就好像它们是相互叠加的“不规则形状的纸板”,以及一种混合重叠部分的方案。

默认的 Android 构图方式是PorterDuff.Mode.SRC_OVER,相当于在目标图像上绘制源图像/颜色。换句话说,它会按照您的预期进行,并将源图像(您正在绘制的图像)绘制在目标图像(画布)的顶部,目标图像显示到源图像的 alpha 定义的程度。

文章中的 PorterDuff 信息图

您可以使用下面的键来了解Android 文档用来描述其他模式的代数(有关类似术语的更完整描述,请参阅文章)。

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

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

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

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

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

于 2014-09-03T22:27:03.883 回答
4

它定义了如何根据 alpha 值组合图像。在此处查看更多信息http://en.wikipedia.org/wiki/Alpha_compositing

于 2013-04-14T07:57:41.127 回答