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

发布于 2024-12-18 04:43:49 字数 132 浏览 1 评论 0原文

我想知道 PorterDuff.Mode 在 android 图形中意味着什么。

我知道这是一种传输模式

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

I would like to know what PorterDuff.Mode means in android graphics.

I know that it is a transfer mode.

I also know, that it has attributes such as DST_IN, Multiply etc.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

原谅过去的我 2024-12-25 04:43:49

以下是 Google 工程师撰写的一篇带有插图的精彩文章:

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

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

默认的 Android 组合图像方式是 PorterDuff.Mode.SRC_OVER,它等同于在目标图像上绘制源图像/颜色。换句话说,它会执行您所期望的操作,将源图像(您正在绘制的图像)绘制在目标图像(画布)之上,并且目标图像按照源图像的 Alpha 定义的程度显示。

文章中的 PorterDuff 信息图

您可以使用下面的键来理解 Android 文档用于描述其他模式(请参阅该文章 以获得类似术语的更完整描述)。

  • Sa 源 alpha
  • Sc 源颜色
  • Da 目标 alpha
  • Dc 目标颜色

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

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

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

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

Here's an excellent article with illustrations by a Google engineer:

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

PorterDuff is described as a way of combining images as if they were "irregular shaped pieces of cardboard" overlayed on each other, as well as a scheme for blending the overlapping parts.

The default Android way of composing images is PorterDuff.Mode.SRC_OVER, which equates to drawing the source image/color over the target image. In other words, it does what you would expect and draws the source image (the one you're drawing) on top of the destination image (the canvas) with the destination image showing through to the degree defined by the source image's alpha.

PorterDuff infographic from the article

You can use the key below to understand the algebra that the Android docs use to describe the other modes (see the article for a fuller desription with similar terms).

  • Sa Source alpha
  • Sc Source color
  • Da Destination alpha
  • Dc Destination color

Where alpha is a value [0..1], and color is substituted once per channel (so use the formula once for each of red, green and blue)

The resulting values are specified as a pair in square braces as follows.

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

Where alpha-value and color-value are formulas for generating the resulting alpha chanel and each color chanel respectively.

喜爱纠缠 2024-12-25 04:43:49

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

It defines how to compose images based on the alpha value. See more here http://en.wikipedia.org/wiki/Alpha_compositing

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文