48-bitowe kolory?


4

Dość często, zwłaszcza w przypadku rzeczy związanych z X11 (zasoby X, motywy Roxterm itp.) Widzę kolory określone jako liczby 48-bitowe: #2e2e34343636, #cccc00000000 zamiast zwykłego 24-bitowego #2e3436 i #cc0000. Do czego służą dodatkowe bity?

Odpowiedzi:


2

Odpowiedź znalazłem w dokumentacji Xlib w „Kolorach łańcuchów”. Wydaje się, że Xlib faktycznie używa 16-bitowych wartości RGB dla kolorów:

Specyfikacja ciągu urządzeń RGB

[...] obsługiwana jest starsza składnia urządzenia RGB, ale nie zaleca się jego dalszego używania. Składnia jest początkowym znakiem ostrego znaku, po którym następuje numeryczna specyfikacja w jednym z następujących formatów:

#RGB          (4 bits each)
#RRGGBB       (8 bits each)
#RRRGGGBBB    (12 bits each)
#RRRRGGGGBBBB (16 bits each)

R, G i B reprezentują pojedyncze cyfry szesnastkowe. Gdy podano mniej niż 16 bitów, reprezentują one najbardziej znaczące bity wartości (w przeciwieństwie do składni „rgb:”, w której wartości są skalowane). Na przykład ciąg „ #3a7 " jest taki sam jak " #3000a0007000


1

Nie mogę mówić o używaniu ich przez X11, ale ogólnie: dodatkowe wartości kolorów, które nie mogą być produkowane w mniejszej głębi bitowej i kanałach alfa.


1

Z podanych przykładów nie są w ogóle używane, ponieważ wartość 24-bitowa jest po prostu powtarzana (trochę jak praktyka używania tylko 3 znaków szesnastkowych do reprezentowania kolorów „bezpiecznych”, więc # c00 oznacza to samo, co # cc0000 lub 204 , 0,0, rozszerzony na # cccc00000000).

Wartości 32-bitowe zwykle używają ostatniego bajtu dla kanału alfa (przezroczystość). Sądzę, że możliwe jest, że wartości 48-bitowe wykorzystują 24-bitowe kolory z niezależną alfa na kolor, ale podane przykłady nie obsługują tego.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.