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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


http://pl.php.net/manual/pl/function.hexdec.php
http://pl.php.net/manual/pl/function.dechex.php
Go to the top of the page
+Quote Post
LudzieSportu
post
Post #3





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

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


Dzięki! O to chodziło, teraz tylko muszę sobie wybrać najszybszą werjsę ;-)
Go to the top of the page
+Quote Post

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: 22.08.2025 - 16:07