La cartographie d'un nombre Entier d'une couleur RVB en C#
Donc, pour l'instant j'ai un nombre entre 0 et 2^24, et j'ai besoin de la carte pour trois valeurs RVB. Je vais avoir un peu de mal sur la façon dont j'avais à accomplir cette tâche. Toute aide est appréciée.
Est votre nombre de la forme 0x00RRGGBB (hex)?
OriginalL'auteur Evan Fosmark | 2011-05-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire
et ensuite utiliser
c.R
,c.G
etc.B
pour le Rouge, Vert et Bleu respectivement les valeurs deOriginalL'auteur Bala R
Selon la couleur est là, vous pouvez utiliser le décalage de bits pour obtenir les différentes couleurs comme ceci:
L'expression ci-dessus suppose
0x00RRGGBB
mais vos couleurs peuvent être0x00BBGGRR
auquel cas il suffit de changer le16, 8, 0
les valeurs autour de.Cela utilise aussi
System.Drawing.Color
au lieu deSystem.Windows.Media.Color
ou de votre propre classe de couleur. Qui dépend de l'application.OriginalL'auteur Rick Sladkey
Vous pouvez utiliser le
BitConverter
classe pour obtenir les octets à partir de l'int:La matrice de quatre octets. Les trois premiers octets contiennent le numéro de votre:
OriginalL'auteur Guffa
le code ci-dessus fonctionne grille. juste une petite correction, besoin de swap de b et r comme ci-dessous.
OriginalL'auteur sunil