![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
Zachciało mi się w moim projekcie przypisać każdemu użytkownikowi unikatowy kolor, więc postanowiłem wygenerować po 2-3 odcienie z każdego koloru. Niestety coś mi nie idzie, a nie odpuszczę do póki nie zrobię (IMG:style_emoticons/default/winksmiley.jpg) Kolory są wyświetlane w systemie 16stkowym więc powstał mi oto taki kodzik... Niestety generuje on po 16 odcieni każdego koloru, a ja chce tylko raptem po 2-3 z każdego. Potrzebuje jakiejś wskazówki (IMG:style_emoticons/default/winksmiley.jpg)
Pozdrawiam Rysh. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ależ moja także jest bezpieczna (IMG:style_emoticons/default/smile.gif) Zauważ, że możliwe do przyjęcia wartości to 0, 52, 104, 156, 208 (IMG:style_emoticons/default/smile.gif) Potem warunek nie jest spełniany więc jedyne co się dzieje w tych pętlach to mieszanie powyższych kombinacji. Całość nie ucieknie poza wartości 256, bo warunek pętli nie dopuści do 260 tylko zakończy pętlę. Zwróć też uwagę, że chcąc, nie chcąc jesteśmy zmuszani do zaokrągleń. czy w dół, czy w górę to kwestia uzgodnienia, ale to pierwsze zwiększa liczbę dostępnych kolorów do (n+1)^3 czyli mamy wtedy nie 5^3 = 125, ale 6^3 = 216 (IMG:style_emoticons/default/smile.gif) Owszem, kolory są wtedy pełniejsze i pozostaje w sumie to do wyboru użytkownika co wybierze. Tak czy inaczej ucieczka od liczenia modulo z $i to likwidacja ogromnej ilości pustych przejść.
EDIT: A jedyne bezpieczne to tak naprawdę potęgi 2 mniejsze lub równe 256, czyli: 2, 4, 8, 16, 32, 64, 128, 256 ze wskazaniem na 2, 4, 8 (IMG:style_emoticons/default/smile.gif) Jedyne naprawdę bezpieczne palety to posiadające do 256 kolorów, co dość skutecznie ogranicza skalę barwną. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 22:38 |