Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zmiana koloru czcionki w zależności od wartości zmiennej
Forum PHP.pl > Forum > Przedszkole
pawelwel
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ę.
com
css i wprowadzaj zmiany na rgb
pawelwel
a można w php? nie znam jeszcze css.
Kshyhoo
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.
pawelwel
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ć.

Kshyhoo
Zgadza się, nie doczytałem.
com
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
pawelwel
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
com
szukaj pod fraza css gradient wink.gif
Bartek Skwara
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.
pawelwel
Wygląda to całkiem fajnie, coś pokombinuję, dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.