Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] losowy kolor
Taifun
post
Post #1





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


Witam,
jak najprościej za pomocą funkcji rand wylosować dowolny kolor (byle jaki). Jest jakaś klasa do tego albo algorytm?
np. #339933 itp.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
CapaciousCore
post
Post #2





Grupa: Zarejestrowani
Postów: 30
Pomógł: 4
Dołączył: 28.09.2009
Skąd: Chełm

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


Przepraszam za odkopanie tematu sprzed paru miesiecy lecz uznalem, ze moze sie potomnym przyda. Powyzej kolega Taifun wrzucil link do rozwiazania lekko zabalaganionego moim zdaniem. Ponizej znajduje sie prosta funkcja do losowania kolorow w 3 roznych postaciach:
  1. <?php
  2. $cfg['primary_color'] = array('black', 'silver', 'gray', 'white', 'maroon', 'red', 'purple', 'fuchsia', 'green', 'lime', 'olive', 'yellow', 'navy', 'blue', 'teal', 'aqua');
  3.  
  4. function core_random_color($type)
  5. {
  6. /*
  7.   * @Name_function: core_random_color
  8.   * @Description: function returns a random color, depending on $type
  9.   * @Argument: $type (string)
  10.   * primary -> 16 combination
  11.   * short -> 4 096 combination
  12.   * long -> 16 777 216 combination
  13.   * @Return: (string)
  14.   */
  15.  
  16. global $cfg;
  17.  
  18. // Jeżeli wersja PHP < 4.2.0 wtedy zachodzi potrzeba użycia generator liczb losowych
  19. // srand(floor(time() / (60*60*24)));
  20.  
  21. if($type == 'primary')
  22. {
  23. $tmp['output'] = $cfg['primary_color'][array_rand($cfg['primary_color'])];
  24. }
  25. else if($type == 'short' || $type == 'long')
  26. {
  27. $tmp['output'] = '#';
  28.  
  29. for($h = 0, $tmp['how'] = ($type == 'short' ? 3 : 6); $h < $tmp['how']; ++$h)
  30. {
  31. $tmp['output'] .= dechex(rand(0, 15));
  32. }
  33.  
  34. // Zbędna kosmetyka dla fanatyków
  35. $tmp['output'] = strtoupper($tmp['output']);
  36. }
  37.  
  38. return $tmp['output'];
  39. }
  40.  
  41. echo core_random_color('primary');
  42. echo '<br />';
  43. echo core_random_color('short');
  44. echo '<br />';
  45. echo core_random_color('long');
  46. ?>

Demo skryptu losowanie koloru

Inne funkcje, ktore moga sie przydac przy losowaniu koloru znajduja sie w artykule pod tytulem [PHP] Losowy kolor w trzech postaciach.

Ten post edytował CapaciousCore 28.12.2009, 06:20:52
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: 1.01.2026 - 09:07