web-dev-qa-db-fra.com

Que signifie PorterDuff.Mode dans Android graphics.What fait-il?

Je voudrais savoir ce que PorterDuff.Mode signifie dans Android graphismes.

Je sais que c'est un mode de transfert .

Je sais aussi qu'il a des attributs tels que DST_IN, Multiply, etc.

140
rogerstone

Voici un excellent article avec des illustrations d'un ingénieur de Google:

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

PorterDuff est décrit comme un moyen de combiner des images comme s’il s’agissait de "morceaux de carton de forme irrégulière" superposés les uns sur les autres, ainsi qu’un système de fusion des parties qui se chevauchent.

La méthode par défaut Android de composition des images est PorterDuff.Mode.SRC_OVER , ce qui revient à dessiner l'image/la couleur source. plus de l'image cible. En d’autres termes, il fait ce que vous attendez et dessine l’image source (celle que vous dessinez) au-dessus de l’image de destination (la trame), l’image de destination s’étendant jusqu’au degré défini par le alpha de l’image source.

PorterDuff infographic from the article

Vous pouvez utiliser la clé ci-dessous pour comprendre l’algèbre qui le Android docs utilise] pour décrire les autres modes (voir l’article pour une description plus complète desription avec des termes similaires).

  • Sa Source alpha
  • Caroline du Sud Couleur source
  • Da Alpha de destination
  • Dc Couleur de destination

Où alpha est une valeur [0..1], et la couleur est substituée une fois par canal (utilisez donc la formule une fois pour le rouge, le vert et le bleu)

Les valeurs résultantes sont spécifiées comme une paire d'accolades carrées, comme suit.

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

alpha-value et color-value sont des formules permettant de générer le canal alpha résultant et chaque canal de couleur, respectivement.

314
Phasmal

Il définit comment composer des images en fonction de la valeur alpha. Voir plus ici http://en.wikipedia.org/wiki/Alpha_compositing

4
yoah