login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Kleurcode verhogen

Offline Pellens - 24/09/2007 21:59 (laatste wijziging 24/09/2007 22:04)
Avatar van PellensPHP interesse Het idee is om een kader weer te geven, elke kolom stelt een gebruiker voor, en elke rij een activiteit waaraan ze meedoen.

Om duidelijk de kolom af te lezen is het makkelijk als elke gebruiker een andere kleur heeft.
Is er de mogelijkheid om een kleur per "user_id" te laten verhogen?

Dus men begint bv met #FFFFFF, en de volgende is #CCCCCC...
(Dit dan wel zonder bv een switch te moeten gebruiken... het aantal gebruikers kan oplopen tot 100)

4 antwoorden

Gesponsorde links
Offline Webtijn - 24/09/2007 22:24 (laatste wijziging 24/09/2007 22:28)
Avatar van Webtijn PHP interesse Zul je je moeten verdiepen in de werking van heximale getallen, en dan met forloopjes spelen ;)

Edit:
Of de simpele manier, een héle grote array met heel veel kleuren. Dit gaat alleen erg vervelend worden bij bijv. meer dan 20 leden, want dan moet je ook meer dan 20 kleuren toevoegen in je array.

  1. <?
  2. $Colours = Array( 'FFFFFF', 'FFFFCC', 'FFFF99', 'FFFF66', 'FFFF33', 'FFFF00' );
  3.  
  4. for( $i = 0; $i < count( $Colours ); $i++ )
  5. {
  6.  
  7. echo '<div style="width: 10px; height: 10px; border: 1px solid #000000; margin: 1px; background: #' . $Colours[ $i ] . '"></div>';
  8.  
  9. }
  10. ?>
Offline Wim - 24/09/2007 22:29
Avatar van Wim Crew algemeen zet gewoon het decimale getal om naar hexadecimaal?
of gebruik: color:rgb(153,153,153)

min: 0
max: 255

A = 10
B = 11
C = 12
D = 13
E = 14
F = 15

Een voorbeeldje:
(A8FF99)16 = (168,255,153)10
WANT: A(10)x16 = 160+8 = 168, F(15)x16 = 240+15 = 255, 9x16 = 144+9 = 153
Offline Webtijn - 24/09/2007 23:45 (laatste wijziging 25/09/2007 00:05)
Avatar van Webtijn PHP interesse wimmarien, omrekenen? Waarom niet gewoon de RGB code in je style neerzetten? ;) Nog slimmer!

  1. <?php
  2.  
  3. $a = 0;
  4. for( $i = 0; $i < 255; $i+=60 )
  5. {
  6.  
  7. for( $j = 0; $j < 255; $j+=60 )
  8. {
  9.  
  10. for( $k = 0; $k < 255; $k+=60 )
  11. {
  12.  
  13. $a++;
  14. echo '<div style="width: 10px; height: 10px; border: 1px solid #000000; margin: 1px; background: rgb( ' . $i . ', ' . $j . ', ' . $k . ' );">' . $a . '</div>';
  15.  
  16. }
  17.  
  18. }
  19.  
  20. }
  21.  
  22. ?>


Stel dat je nou meer kleuren wilt (en een geleidere overgang) moet je de loops met minder laten ophogen (nu += 60 dacht ik)
Offline Wim - 25/09/2007 17:17
Avatar van Wim Crew algemeen staat toch bij in m'n post? Ik zet er gewoon een 2de manier bij.... Share the knowledge!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.177s