Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Zamiana liczby szesnastkowej na dziesiętną
Forum PHP.pl > Forum > Przedszkole
LudzieSportu
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.
LudzieSportu
Dzięki! O to chodziło, teraz tylko muszę sobie wybrać najszybszą werjsę ;-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.