GodzilLe 23/05/2017 à 20:28
La solution que j'ai pour l'instant, mais elle chie pour les nombres ayant une partie decimale en dessous de ~40:
def A2BG(a):
if a == 100:
return 0,0
divisor = 100
numerator = a
B = 0
G = 0
if ( int(numerator) != numerator ):
numerator = int(numerator * 100.)
divisor = divisor * 100
while numerator > 255. or (numerator - divisor) > 255.:
numerator = numerator / 2
divisor = divisor / 2
B = numerator - 1
G = divisor - B - 1
return max(0,min(255,int(B))), max(0,min(255,int(G)))
Comme j'ai toujours mal a la tete je laisse pour l'instant mais je pense etre sur la bonne voie