2009-08-16 6 views
1

J'ai eu l'idée de générer par programme des schémas de couleurs correspondants, mais j'ai besoin de générer un dégradé linéaire pour un ensemble de deux couleurs (valeurs hexadécimales ou RVB).Génération de dégradés de couleurs

Quelqu'un peut-il me fournir le (pseudo) code ou me diriger dans la bonne direction pour accomplir cette tâche?

EDIT: J'ai oublié de mentionner, mais je dois aussi préciser (ou savoir) le nombre d'étapes que le gradient prend de la couleur A à la couleur B.

+0

Voici un article - [http://www.herethere.net/~samson/php/color_gradient/?cbegin=FF0000&cend=FFFFFF&steps=16](http: //www.herethere.net/~samson/php/color_gradient/?cbegin=FF0000&cend=FFFFFF&steps=16) [http://codingforums.com/showthread.php?t=79463](http://codingforums.com/ showthread.php? t = 79463) – adatapost

Répondre

2

Bon, vous connaissez les étapes, début couleur et couleur finale. En supposant que vous avez des valeurs RVB pour chaque couleur:

red_diff = end_red - start_red 
    green_diff = end_green - start_green 
    blue_diff = end_blue - start_blue 

    #Note: This is all integer division 
    red_step = red_diff/num_steps 
    green_step = green_diff/num_steps 
    blue_step = blue_diff/num_steps 

    current_red = start_red 
    current_geen = start_green 
    current_blue = start_blue 

    while current_red != end_red and current_green != end_green and current_blue != end_blue: 
     current_red += red_step 
     current_green += green_step 
     current_blue += blue_step 
     # print color