Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] "zaokrąglanie kolorów"
kleszczoscisk
post
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

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


Witam

Czy ktoś może zna sposób na to aby niejako zaokrąglić dowolny kolor zapisany w systemie szesnastkowym, do najbardziej zbliżonego mu koloru ze zdefiniowanej wczesniej palety, np. "web safe"? Chodzi o to żeby np. 5 rodzajów czerwieni (#CC0001,#CC0002,#CC0003,#FF0003,#990005) wynikowo "zaokrąglić" np. do #CC0000.
Są klasy i funkcje wyciągające paletę z obrazka, ale te które widziałem wypluwają najróżniejsze kolory, marzy mi się żeby te kolory uprościć żeby były w jakimś z góry zdefiniowanym zbiorze, np. web safe.
Może ktoś podpowie jak to ugryźć, albo zna jakieś gotowe rozwiązanie?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 809
Pomógł: 1828
Dołączył: 11.03.2014

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


Na pewno błąd jest w liczeniu różnicy, "^" ma inne znaczenie w PHP.
  1. $roznica = sqrt(pow($row[2]-$color_rgb[0],2) + pow($row[3]-$color_rgb[1],2) + pow($row[4]-$color_rgb[2],2));
  2. $dystanse[] = $roznica; // policzyłeś to wcześniej, więc nie ma sensu drugi raz


Popatrz również na wartości hex losowych kolorów, niektóre są pięcioznakowe.

Ten post edytował trueblue 25.03.2014, 12:23:23
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: 24.12.2025 - 09:45