ARGB()
Syntaxe |
Resultat.i = ARGB(color.i, a.b = 255)
Procedure.i ARGB(color.i, a.b = 255) ; $??RRGGBB --> $AABBGGRR avec AA = a ; inverse les composante rouge et bleue ; de la couleur avec la couche alpha ; passée par a, avec opacité complète par défaut (a = 255) ! MOV eax, [p.v_color] ; eax = $??BBGGRR avec ?? = couche alpha d'origine ! SHL eax, 8 ; eax = $BBGGRR00 ! BSWAP eax ; eax = $AARRGGBB ! RET 8 ; pour terminer tout de suite EndProcedure
Paramètres |
color.i
[in] Couleur Gdi à convertir au format Gdi+.a.b = 255
[in] Couche alpha qui correspond à la transparence qui sera appliquée à la couleur finale.
La couche alpha est codée sur les 8 bits de poids fort de la couleur (b24 à b31) et peut être comprise entre 0 (transparence complète de la couleur) et 255 (opacité complète de la couleur). Les valeurs intermédiaires indiquent un mélange de la couleur et de celle du fond, le 0 indiquant que la couleur est entièrement celle du fond.
Ce paramètre est facultatif, s'il est absent, la couche alpha vaut 255 (opacité complète).
Description |
La procédure inverse les composantes rouges et bleues pour obtenir le format Gdi+ de la couleur et fixe la couche alpha.
La valeur correspondante à la couche alpha de la couleur passée en paramètre est remplacée par la valeur du paramètre a.b.
Sous Gdi+, les composantes rouge et bleue sont inversées par rapport à la convention Gdi. La procédure positionne ces paramètres correctement.
Résultat
de la fonction |
La procédure retourne la couleur au format Gdi+ avec la couche alpha passée en paramètre.
PB
- OS |
PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium
Exemple |
Il y a plus de 380 exemples qui utilisent cette macro, voir par exemple la section des Pen.Voici un petit exemple de la procédure avec le paramètre a.b ignoré. Le résultat est -12445792.
couleur.i = ARGB(3282048834)