Generowanie palety kolorów 2D

0

Chcę wygenerować dwuwymiarową tablicę kolorów. Założenia:

  1. Mamy tylko 2 wymiary tabeli - wiersze i kolumny
  2. Nie ma suwaka do zmiany nasycenia / jasności
  3. Chcemy otrzymać użyteczne kolory

Czy jest możliwe wygenerowanie takiej tabeli kolorów 2D, aby uzyskać wszystkie najważniejsze kolory na potrzeby internetu? To zadanie bardziej matematyczne niż programistyczne. Może znajdziecie lepsze rozwiązanie niż poniżej.

Próby doświadczalne:

HSL stała jasność 50%
HSL stałe nasycenie 50%
RGB niebieski na max
RGB lepiej ale wymaga dopracowania
RGB kolejny eksperyment
RGB coś takiego wyszło
RGB nie o to chodziło ale ciekawy efekt
RGB jak wyżej

Jak widać, kolor ma 3 lub 4 cechy. Czy istnieje zapis 2 zmiennych? Nie znam.

RGB
R - czerwony
G - zielony
B - niebieski

HSL
H - hue | odcień
S - saturation | nasycenie
L - lightness | jasność

Biały i czarny nie jest wymagany, ale dobrze mieć w palecie. A może lepiej wyświetlać tylko najczęściej wykorzystywane kolory i najbardziej użyteczne? Teoria koloru jest trudna, ale może znacie ciekawy sposób na wygenerowanie dynamicznie takiej palety kolorów 2D.

0

Jeśli chodzi o pełną paletę (true color) to system dwuwymiarowy nie istnieje. Co innego, na przykład system RG http://en.wikipedia.org/wiki/RG_color_space który jednak nie zapewnia pełnego wyboru koloru.

Spróbuj palety YUV, YIQ, Lab, w kazdej z nich jasność przyjmij na stałe, a wymiary tablicy będą pozostałymi dwoma składowymi. W ten sposób w palecie bedziesz mieć albo kolor biały, albo czarny, albo szary w zależności od przyjetej jasności.

Nie wiem, do czego Ci to potrzebne, ale jeżeli potrzebujesz palety do wybierania kolorów, to myślę, że można podejść od innej strony. Po prostu zastosować standardową paletę 256 kolorów używana w DOS. Pierwsze 16 kolorów to kolory VGA, kolejne to 16 odcieni szarości, potem jest 216, które można zastosować jako RGB w ograniczonym stopniu (nie wiem, jak są dobierane, ale można przeanalizować). Tutaj opis tej palety:

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.