Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Zamiana liczby szesnastkowej na dziesiętną, Definiowanie kolorów
LudzieSportu
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.11.2006

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


Witam

Potrzebuję pomocy w napisaniu (lub wskazaniu gotowego rozwiązania, bo podejrzewam, że takie może istnieć). Potrzebny jest kod, który mając podany sześcioznakowy ciąg, który oznacza numer koloru w postaci RRGGBB, gdzie RR,GG,BB to liczby szesnastkowe z przedziału 00-FF, wyświetla trzy liczby dziesiętne: $red, $green, $blue, które są liczbami dziesiętnymi z przedziału 0-255. Ewetnualnie może być funkcja odwrotna, która mając na wejściu trzy liczby dziesiętne (0-255), wyświetla odpowiednik RRGGBB.

Czyli np. gdy $kolor = 'FFCC00';

To funkcja wyrzuci: $red == 255; $green == 204; $blue == 0;

Lub na odwrót. Nie ma znaczenia, w którą stronę będzie działać funkcja, bo dane w bazie mogę przechowywać w dowolny sposób. Gdyby to nie robiło różnicy, to wolałbym zamianę RRGGBB -> $red,$green,$blue, bo wtedy w bazie przechowywałbym tylko jedną zmienną zamiast trzech.

Zamiana potrzebna mi jest do obróbki kolorów (wersja RRGGBB do wyświetlania w htmlu, a wersja $red,$green,$blue do zabawy funkcjami graficznymi (imagesetpixel(), imagecolorallocate(), itp).

W zasadzie to wiedziałbym jak taką funkcję napisać, ale problemem jest to, że chciałbym, żeby była bardzo szybka, gdyż będzie bardzo często używana. I wiem, że moje rozwiązanie byłoby baaardzo mało wydajne i obciążałoby procek o wiele bardziej, niż jest to potrzebne. Dlatego chciałbym, żeby pomógł ktoś bardziej obcykany.

Hmmm... a może nawet istnieje gotowiec?

Z góry dziękuję za pomoc.


--------------------
Ludzie Sportu - postaw na sport
Strony domowe sportowców. Ty też możesz mieć własną stronę w 15 minut.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:39