Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zamiana liczby na kolor, Formatowanie warunkowe ala Excel
TomASS
post
Post #1





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Witajcie,

Potrzebuję zrobić funkcję:

  1. function getColor($min, $max, $value){
  2. ....
  3. }


która to zwróci mi kolor (do użycia w CSS) ze "skali" od czerwonego (dla wartości mniejszej/równej $min), przez żółty (dla wartości środkowej) aż do zielonego (dla wartości większej/równej $max).

coś na wzór:
(IMG:http://i.stack.imgur.com/uErDJ.png)

Czy ktoś wie jak uzyskać kolor z tej skali w sposób "ciągły"?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


A na czym polega problem, że to nie żółty kolor? (IMG:style_emoticons/default/tongue.gif) Cały myk polega na tym, żeby proporcjonalnie obliczyć składowe koloru. Musisz obliczyć pozycję koloru względem dwóch kolorów, czyli dla 0.25 będzie to 0.5, bo leży dokładnie na środku przedziału zielony-sraczkowaty. Potem musisz wyliczyć poszczególne składowe korzystając z tej pozycji. Dla 0.5 będzie to dokładnie kolor między jednym a drugim, czyli w przypadku zieleń-sraczkowaty będzie to:
Kod
Zielony:     rgb(0,   255, 0)
Sraczkowaty: rgb(127, 127, 0)
Wynik:
R: (0 + 127) * 0.5 = 63,5
G: (255 + 127) * 0.5 = 191
B: (0 + 0) * 0.5 = 0


Załóżmy, że zaokrąglamy "normalnie".

Czyli naszym kolorem wyjściowym będzie:
Kod
rgb(64, 191, 0)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 08:41