Il est tout à fait un bon article en le couvrant avec des illustrations au http://ssp.impulsetrain.com/porterduff.html. L'article décrit PorterDuff comme un moyen de combiner les images comme si elles étaient "de forme irrégulière morceaux de carton" superposés les uns sur les autres, ainsi que d'un système de fusion pour les parties qui se recouvrent.
La valeur par défaut d'Android manière de composer des images est PorterDuff.Mode.SRC_OVER, ce qui équivaut à tracer la source de l'image/de la couleur sur l'image de la cible. En d'autres termes, il fait ce que vous attendez et attire l'image source (celui que vous êtes le dessin) sur le dessus de l'image de destination (la toile) avec l'image de destination montrant à travers le degré défini par la source de l'image de l'alpha.
Vous pouvez utiliser la touche ci-dessous pour comprendre l'algèbre que l'Android docs utiliser pour décrire les autres modes (voir l'article pour plus de description avec des termes similaires).
-
Sa Source alpha
-
Sc la couleur d'une Source
-
Da Destination alpha
-
Dc couleur de Destination
Où alpha est une valeur en [0..1]
, et la couleur est substitué une fois par canal (il faut donc utiliser la formule une fois pour chacune des couleurs rouge, vert et bleu)
Les valeurs obtenues sont spécifiés comme une paire de crochets comme suit.
[<alpha-value>,<color-value>]
Où alpha-value
et color-value
sont des formules pour la génération de l'résultant alpha chanel et chaque couleur chanel respectivement.