2009-08-16 8 views
1

У меня возникла идея программно генерировать соответствующие цветовые схемы, однако мне нужно иметь возможность генерировать линейный градиент, учитывая набор из двух цветов (значения Hex или RGB).Создание градиентов цвета

Может ли кто-нибудь предоставить мне (псевдо) код или указать мне в правильном направлении для выполнения этой задачи?

EDIT: Я забыл упомянуть, но я также необходимо указать (или знаете) число шагов градиента принимает от цвета А до цвета B.

+0

Вот статья - [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? Т = 79463) – adatapost

ответ

2

Итак, вы знаете шаги, начало цвет и цвет конца. Если у вас есть значения RGB для каждого цвета:

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