Jak odwrócić wartość hex?


(tomilipin) #1

Witam,

pytanie jest proste - jak odwrócić kolor zapisany w HEXie? Muszę to zrobić na poziomie PHP.

Mam np. kolor #FFDC00 - jak obliczyć kolor odwrócony? Chodzi o takie coś, jak jest w programach graficznych - "odwrócenie kolorów" czy "negatyw".

Trick z zamianą offestów nie zadziała. Dlaczego? To proste :slight_smile: Kolor #FFFFFF (biały) - jego przeciwieństwem jest #000000 (czarny) a nie #FFFFFF.

Dlatego muszę obliczać zupełne przeciwieństwo koloru. Jak to zrobić?


(adpawl) #2

Mam nadzieję że o to chodziło


(tomilipin) #3

Jak patrzę na ten kod to żal mnie bierze, że sam tego nie wymyśliłem. To jest przecież tak logiczne...

No cóż - skorzystam więc z tego gotowego rozwiązania :slight_smile: Dziękuję bardzo za pomoc.

I tak - chodziło mi dokładnie o to :slight_smile:

Przy okazji, adpawl , czy możesz wytłumaczyć mi składnię

(strlen($b) > 1) ? $b : '0'.$b;

Zawsze mnie to intrygowało a nigdzie nie znalazłem wyjaśnienia.

Rozumiem, że najpierw mamy warunek. Po znaku zapytania - jest kod wykonywany gdy warunek zwraca TRUE. Po dwukropku - kod wykonywany gdy warunek zwraca FALSE.

Czy dobrze myślę?


(adpawl) #4

Dokładnie...

Jest to uproszczony IF, który ma postać: warunek ? prawda : falsz;