Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie kolorów pośrednich
PiNkOs
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 4
Dołączył: 27.02.2009

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


Witam,

Jestem w trakcie tworzenia pewnej aplikacji, która odlicza co 1s do liczby X.

Chodzi mi oto, że:

% to liczba obecna z X

1% - to kolor czerwony
2% - 49% - kolory co raz bardziej zbliżane do koloru żółtego. (przejscie z czerwonego na żółty)
50% - kolor żółty
51-99% - kolory co raz bardziej zbliżane do koloru zielonego (przejscie z zółtego na zielony)
100% - kolor zielony

[[[Pętla zaczyna się od nowa

Wiem, że da radę coś takiego zrobić (tylko nie znam się w ogóle na rgb)

Prosze o jakis przykład

Pozdrawiam

Ten post edytował PiNkOs 15.11.2010, 09:05:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PiNkOs
post
Post #2





Grupa: Zarejestrowani
Postów: 76
Pomógł: 4
Dołączył: 27.02.2009

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


Dzięki za poświęcenie czasu.

Ale teraz... chce przykładowo wykonać to za pomocą procentów (bo w mojej aplikacji użytkownik podaje własną wartość)

Mam tak i klapa... Mierzyłem za pomocą ColorZilla i...

Kod
<html>
<head>
<script type="text/javascript" charset="utf-8">
function setColor(krok) {
    krok = krok%151;
    percent = krok / 151;
    percent = percent * 100;
    if(percent < 30) {
        document.getElementById('box').style.backgroundColor = 'rgb(255, ' + parseInt(krok*5.1) + ', 0)';
    }
    if(percent > 30  && percent < 70 ) {
        document.getElementById('box').style.backgroundColor = 'rgb(' + parseInt((100-krok)*5.1) + ', 255, 0)';
    }
    if(percent > 70 && percent < 101) {
        document.getElementById('box').style.backgroundColor = 'rgb(' + parseInt((krok-100)*5.1) + ', ' + parseInt((150-krok)*5.1) + ', 0)';
    }
}
function change_step( step ) {
    setColor(step);
    licznik++;
    document.getElementById('box').innerHTML = licznik;
}
var licznik = 0;
</script>
</head>
<body>
<div id="box" style="width:200px;height:100px;background-color:#ff0000;" onmouseover="setInterval( 'change_step(licznik)', 500);"></div>
</body>
</html>


Ten post edytował PiNkOs 16.11.2010, 19:41:54
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: 29.12.2025 - 10:48