Lo que hace PorterDuff.Modo significa en los gráficos de Android.¿Qué hace?


Me gustaría saber qué PorterDuff.Mode significa en gráficos de Android.

Sé que es un modo de transferencia .

También sé que tiene atributos como DST_IN, Multiply, etc.

Author: Alexander Farber, 2011-11-26

2 answers

Aquí hay un excelente artículo con ilustraciones de un ingeniero de Google:

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

PorterDuff se describe como una forma de combinar imágenes como si fueran "piezas de cartón de forma irregular" superpuestas entre sí, así como un esquema para mezclar las partes superpuestas.

La forma predeterminada de Android de componer imágenes es PorterDuff.Modo.SRC_OVER , que equivale a dibujar la imagen/color de origen sobre la imagen de destino. En otras palabras, hace lo que esperarías y dibuja la imagen de origen (la que estás dibujando) sobre la imagen de destino (el lienzo) con la imagen de destino mostrándose hasta el grado definido por el alfa de la imagen de origen.

Infografía de PorterDuff del artículo

Puede usar la clave a continuación para entender el álgebra que los documentos de Android utilizan para describir los otros modos (ver el artículo para una descripción más completa con similar plazo).

  • Sa Source alpha
  • Sc Color de origen
  • Da Destino alfa
  • Dc Color de destino

Donde alfa es un valor [0..1], y el color se sustituye una vez por canal (así que use la fórmula una vez para cada uno de rojo, verde y azul)

Los valores resultantes se especifican como un par en llaves cuadradas de la siguiente manera.

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

Donde alpha-value y color-value son fórmulas para generar el resultado alfa chanel y cada color chanel respectivamente.

 284
Author: Phasmal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-12 21:06:25

Define cómo componer imágenes basadas en el valor alfa. Ver más aquí http://en.wikipedia.org/wiki/Alpha_compositing

 4
Author: yoah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-14 07:57:41