Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]zmiana koloru czcionki w zależności od wartości zmiennej
pawelwel
post 18.01.2014, 23:40:46
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2006

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


Witam.

W jaki sposób można stworzyć skrypt, który zmienii kolor czcionki w zależności od wartości zmienej np

jeśli wartość zmiennej to 100, kolor zielony, im bardziej liczba będzie zbliżała się do 50, to powoli będzie zmieniało kolor czcionki na czerwono.
Wiem, można to zrobić na ifach, ale wtedy będą nagłe przeskoki kolorów, a mi chodzi o płynną zmianę.
Go to the top of the page
+Quote Post
com
post 18.01.2014, 23:45:19
Post #2





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

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


css i wprowadzaj zmiany na rgb
Go to the top of the page
+Quote Post
pawelwel
post 18.01.2014, 23:46:08
Post #3





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2006

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


a można w php? nie znam jeszcze css.
Go to the top of the page
+Quote Post
Kshyhoo
post 18.01.2014, 23:46:47
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




8 lat na Forum i nie zdążyłeś zakumać, jak działa IF?
  1. if($warunek) {
  2. $kolor = '00000';
  3. } else if($warunek) {
  4. $kolor = 'ffffff';
  5. } else {
  6. $kolor = '0f0f0f';
  7. }
  8.  
  9. <tu kod z czcionką style=$kolor>teks</ >

Oczywiście to tylko schemat.


--------------------
Go to the top of the page
+Quote Post
pawelwel
post 18.01.2014, 23:49:38
Post #5





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2006

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


1. To wcale nie oznacza, że programuję 8 lat.
2. "Wiem, można to zrobić na ifach, ale wtedy będą nagłe przeskoki kolorów, a mi chodzi o płynną zmianę." to cytat z pierwszego posta, gdybyś go przeczytał ze zrozumieniem, nie musiałbyś tego uszczypliwie skomentować.

Go to the top of the page
+Quote Post
Kshyhoo
post 18.01.2014, 23:51:47
Post #6





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Zgadza się, nie doczytałem.


--------------------
Go to the top of the page
+Quote Post
com
post 19.01.2014, 00:01:24
Post #7





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

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


własnie, po pierwsze nie o to chodziło.. po drugie wiek na forum nie wyznacza poziomu... bo to że ja np jestem tu na forum od 2012 roku wcale nie znaczy ze od wtedy się tym zajmuje, bo zaczynałem jak Ty i inni.. tylko jak się jeszcze "uczyłem" to nie potrzebowałem pisać postów bo wszytko można znaleźć poprzez szukaj i w manualu czego większość tu nie robi.. a potem trafiłęm tu żeby pomagać innym wink.gif
http://www.colorzilla.com/gradient-editor/
smile.gif

Ten post edytował com 19.01.2014, 00:12:47
Go to the top of the page
+Quote Post
pawelwel
post 19.01.2014, 00:04:42
Post #8





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2006

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


ok, coś pokombinuję z tym.

A propo, programuję gdzieś z miesiąc od kompletnego zera, robię to tylko w czasie wolnym z dwa razy w tygodniu hobbystycznie a znam więcej instrukcji niż IF wink.gif
Go to the top of the page
+Quote Post
com
post 19.01.2014, 00:14:28
Post #9





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

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


szukaj pod fraza css gradient wink.gif

Ten post edytował com 19.01.2014, 00:14:42
Go to the top of the page
+Quote Post
Bartek Skwara
post 19.01.2014, 00:14:31
Post #10





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.01.2014

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


Znalazłem w sieci coś takiego - http://www.herethere.net/~samson/php/color...00&steps=50
Zatem gdybyś w takim kodzie:
  1. $theColorBegin = 0x00ff00;
  2. $theColorEnd = 0xff0000;
  3. $theNumSteps = 50;
  4. $theR0 = ($theColorBegin & 0xff0000) >> 16;
  5. $theG0 = ($theColorBegin & 0x00ff00) >> 8;
  6. $theB0 = ($theColorBegin & 0x0000ff) >> 0;
  7. $theR1 = ($theColorEnd & 0xff0000) >> 16;
  8. $theG1 = ($theColorEnd & 0x00ff00) >> 8;
  9. $theB1 = ($theColorEnd & 0x0000ff) >> 0;
  10.  
  11. function interpolate($pBegin, $pEnd, $pStep, $pMax) {
  12. if ($pBegin < $pEnd) {
  13. return (($pEnd - $pBegin) * ($pStep / $pMax)) + $pBegin;
  14. } else {
  15. return (($pBegin - $pEnd) * (1 - ($pStep / $pMax))) + $pEnd;
  16. }
  17. }
  18.  
  19. for ($i = 0; $i <= $theNumSteps; $i++) {
  20. $theR = interpolate($theR0, $theR1, $i, $theNumSteps);
  21. $theG = interpolate($theG0, $theG1, $i, $theNumSteps);
  22. $theB = interpolate($theB0, $theB1, $i, $theNumSteps);
  23. $theVal = substr("000000".dechex(((($theR << 8) | $theG) << 8) | $theB), -6);
  24.  
  25. echo "<span style='color:#".$theVal."'>".$theVal."</span>\n";
  26. }

zamiast wyświetlać span, wrzucił sobie te kolorki w tablice z indeksami od 50 do 100, mógłbyś wyświetlając liczbę dawać jej kolor a tablicy, gdzie liczba ta jest indeksem.
Go to the top of the page
+Quote Post
pawelwel
post 19.01.2014, 08:48:52
Post #11





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2006

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


Wygląda to całkiem fajnie, coś pokombinuję, dzięki.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2024 - 15:57