Nei_Mad
Messages postés2Date d'inscriptiondimanche 5 juin 2005StatutMembreDernière intervention22 juillet 2007
-
21 juil. 2007 à 17:34
Nei_Mad
Messages postés2Date d'inscriptiondimanche 5 juin 2005StatutMembreDernière intervention22 juillet 2007
-
22 juil. 2007 à 00:10
Bonjour.
Je suis actuellement en train de développer un logiciel et j'ai besoin qu'il puisse simuler l'allumage d'une LED tricolor (en fait 3 LEDs : une rouge, une verte et une bleue). Pour cela, je cherche à coder une fonction qui a pour paramètres :
en entrée :
- taux d'allumage de la led rouge (8 bits)
- taux d'allumage de la led verte (8 bits)
- taux d'allumage de la led bleue (8 bits)
sortie : la couleur 32 bits crée par la LED (c a d la couleur + la composante de transparence)
J ai bien évidemment imaginé "copier coller" les 3 niveaux d'entrée dans la couleur de sortie mais je me suis vite rendu compte que ca ne marcherait pas.
Exemple
Si les 3 canaux sont allumés à 100%, on obtient en pratique du blanc (éblouissant, au passage). Si on copie-colle les niveaux dans la couleur (R:255, V:255, B:255), on obtient du blanc... OK
Si les 3 canaux sont allumés à 50%, on obtient en pratique du blanc, moins lumineux que pour le cas précédent. Par contre, si on copie colle les niveaux dans la couleur (R:127, V:127, B:127), on n'obtient plus du blanc mais du gris. Le but de la fonction que je cherche à coder serait de donner la couleur (ici : blanc) et la transparence (ici, 50% a peu pres), or je ne vois pas du tout comment effectuer la conversion.
Nei_Mad
Messages postés2Date d'inscriptiondimanche 5 juin 2005StatutMembreDernière intervention22 juillet 20071 22 juil. 2007 à 00:10
Bonsoir
Je viens de faire des tests de cet algo pour mon application : le rendu des couleurs correspond parfaitement à ce dont j ai besoin. Par contre, j'ai du retoucher le canal alpha :
j'ai remplacé par
alpha=max(tr,tg,tb)
et c est nickel.