Ich würde gerne wissen, was PorterDuff.Mode in Android-Grafiken bedeutet.
Ich weiß, dass es ein Übertragungsmodus ist .
Ich weiß auch, dass es Attribute wie DST_IN, Multiplizieren usw. hat.
Ich würde gerne wissen, was PorterDuff.Mode in Android-Grafiken bedeutet.
Ich weiß, dass es ein Übertragungsmodus ist .
Ich weiß auch, dass es Attribute wie DST_IN, Multiplizieren usw. hat.
Antworten:
Hier ist ein ausgezeichneter Artikel mit Illustrationen eines Google-Ingenieurs:
http://ssp.impulsetrain.com/porterduff.html
PorterDuff wird als eine Möglichkeit beschrieben, Bilder so zu kombinieren, als wären sie "unregelmäßig geformte Pappstücke", die übereinander liegen, sowie als ein Schema zum Mischen der überlappenden Teile.
Die Standardmethode für Android zum Erstellen von Bildern ist PorterDuff.Mode.SRC_OVER. Dies entspricht dem Zeichnen des Quellbilds / der Quellfarbe über das Zielbild. Mit anderen Worten, es macht das, was Sie erwarten würden, und zeichnet das Quellbild (das, das Sie zeichnen) über das Zielbild (die Leinwand), wobei das Zielbild bis zu dem Grad durchscheint, der durch das Alpha des Quellbilds definiert ist.
Mit dem folgenden Schlüssel können Sie die Algebra verstehen, mit der die Android-Dokumente die anderen Modi beschreiben ( eine ausführlichere Beschreibung mit ähnlichen Begriffen finden Sie im Artikel ).
Wobei Alpha ein Wert [0..1]
ist und die Farbe einmal pro Kanal ersetzt wird (verwenden Sie die Formel also einmal für Rot, Grün und Blau).
Die resultierenden Werte werden wie folgt als Paar in eckigen Klammern angegeben.
[<alpha-value>,<color-value>]
Wo alpha-value
und color-value
sind Formeln zum Erzeugen des resultierenden Alpha-Kanals bzw. jedes Farbkanals.
Es definiert, wie Bilder basierend auf dem Alpha-Wert erstellt werden. Weitere Informationen finden Sie hier http://en.wikipedia.org/wiki/Alpha_compositing