2015-09-23 4 views
-2

У меня есть некоторый код, который я получил здесь: Color coding based on numberОбратный выход функции

function GreenYellowRed($number) { 
    $number--; // working with 0-99 will be easier 

    if ($number < 50) { 
    // green to yellow 
    $r = floor(255 * ($number/50)); 
    $g = 255; 

    } else { 
    // yellow to red 
    $r = 255; 
    $g = floor(255 * ((50-$number%50)/50)); 
    } 
    $b = 0; 

    return "$r,$g,$b"; 
} 

Я затем вызвать его на процент выхода ... как это:

"<span style='background-color: rgb(" . GreenYellowRed($percentage) . ")'>" . $percentage . "%</span>" 

Он работает как ожидаемый, но он делает более низкие цифры зелеными и более высокими красными цифрами. В моем случае низкий процент плохой, а высокий процент хорош, но я не могу понять, что менять, чтобы заставить его работать в обратном направлении, так что высокие числа идут зелеными, а низкие цифры - красными.

Я пробовал несколько вещей, но мне никогда не кажется, что я хочу ... может ли кто-нибудь помочь?

+0

что вы пытаетесь делать? – frosty

ответ

-2

Soooo легкий, когда я думал об этом !!

Все, что я должен был сделать, чтобы поменять $ г и $ г на каждой стороне, если заявление, как это:

function GreenYellowRed($number) 
      { 
       $number--; // working with 0-99 will be easier 

       if ($number < 50) { 
       // green to yellow 
       $g = floor(255 * ($number/50)); 
       $r = 255; 

       } else { 
       // yellow to red 
       $g = 255; 
       $r = floor(255 * ((50-$number%50)/50)); 
       } 
       $b = 0; 

       return "$r,$g,$b"; 
      } 

Все сортируется :)

Смежные вопросы