![]() |
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 14:39 |