Comment faire pour extraire des r, g, b, a des valeurs de couleurs CSS?
Quelle serait la façon la plus simple de transformer
$('#my_element').css('backgroundColor')
à un objet comme ça:
{ r: red_value, g: green_value, b: blue_value, a: alpha_value }
?
- Quelle langue voulez-vous?
- c'est du JavaScript (avec jQuery).
Vous devez vous connecter pour publier un commentaire.
Essayer ici http://jsbin.com/uhawa4
Modifier :
ou encore plus simple, il suffit juste de viser à des numéros de
var rgb = c.match(/\d+/g);
avecvar rgb = c.match(/[.?\d]+/g);
afin de correspondre à des nombres à virgule flottante alpha dans rgba correctement les chaînes commergba(60,4,2,0.3)
Vous ferais quelque chose comme:
Assez simple 🙂
$('#my_element').css('backgroundColor')
renvoie toujours à quelque chose commergb(123, 87, 92)
ourgba(123, 87, 92, 0.7)
. Peut-il revenir aussi des choses comme#123456
ou123456
?rgba(...)
depuis une simple valeur hexadécimale comme#6400FF
ne peut pas exprimer l'opacité.Dire que vous avez la règle CSS suivante:
Alors c'est comment vous pourriez obtenir un RBGA objet:
Comme on le voit ici:
Ce script prend chaque paire de couleur à partir de votre hexcolor code (par exemple #F0556A) et il passe pour un entier en utilisant parseInt avec la base 16 .
De plus simple:
Pour convertir rgba chaîne d'objet avec les touches: