Frage

ich habe einen ARGB-Wert im Parameter einer Funktion und die Funktion muss der agb Werte loszuwerden und halten nur die r. Wie würdest du das machen? Dankes-

War es hilfreich?

Lösung

Das geschieht mit bitweise Verschiebung und bitweise AND.

Die uint in einem 32-Bit-Integer. Jeder der A, R, G, B einnimmt 8 seiner Bits (ein Byte). Und sie scheinen mir die gleiche Reihenfolge wie der Name schon sagt A, R, G, B

raus b Sie müssen nur Maske heraus alle anderen Bits mit einer bitweise AND-Anweisung.

a = ARGB & 255 weil 255 binär 11111111 ist, hält sie nur die benötigten Bits.

für g Sie zuerst die Bits verschieben tun müssen, um dann den oben. g = ARGB >> 8 & 255

r ist gleich, aber 16 Bits verschieben

r = ARGB >> 16 & 255

und a = ARGB >> 24 & 255

Ich hoffe, das hilft

Andere Tipps

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top