Udostępnij przez


Paleta domyślna

Domyślna paleta to tablica wartości kolorów identyfikujących kolory, które mogą być domyślnie używane z kontekstem urządzenia. system kojarzy paletę domyślną z kontekstem za każdym razem, gdy aplikacja tworzy kontekst dla urządzenia obsługującego palety kolorów. Paleta domyślna zapewnia, że kolory są dostępne do użycia przez aplikację bez żadnych dalszych działań.

Paleta domyślna zazwyczaj zawiera 20 wpisów (kolorów), ale dokładna liczba wpisów może się różnić od urządzenia do urządzenia. Ta liczba jest równa wartości NUMCOLORS zwróconej przez funkcję GetDeviceCaps. Aplikacja może pobrać wartości kolorów kolorów w palecie domyślnej, wyliczając stałe pióra, tę samą technikę używaną do odnajdywania kolorów dostępnych na urządzeniach niepalette. Kolory na palecie domyślnej zależą od urządzenia. Wyświetlaj urządzenia, na przykład, często używają 16 standardowych kolorów wyświetlacza NVIDIA i 4 innych kolorów zdefiniowanych przez system Windows. Urządzenia do drukowania mogą używać innych kolorów domyślnych.

W przypadku korzystania z palety domyślnej aplikacje używają wartości kolorów do określania kolorów pióra i tekstu. Jeśli żądany kolor nie znajduje się na palecie, system przybliża kolor przy użyciu najbliższego koloru na palecie. Jeśli aplikacja żąda stałego koloru pędzla, który nie znajduje się w palecie, system symuluje kolor, dzieląc kolory, które znajdują się w palecie.

Aby uniknąć przybliżeń i dithering, aplikacje mogą również określać kolory pióra, pędzla i tekstu przy użyciu indeksów palet kolorów, a nie wartości kolorów. Indeks palety kolorów to wartość całkowita, która identyfikuje określony wpis palety. Aplikacje mogą używać indeksów palety kolorów zamiast wartości kolorów, ale muszą używać makra PALETTEINDEX, aby utworzyć indeksy.

Indeksy palety kolorów są przydatne tylko w przypadku urządzeń obsługujących palety kolorów. Aby uniknąć tej zależności urządzenia, aplikacje używające tego samego kodu do rysowania zarówno do palety, jak i urządzeń niepalette, powinny używać wartości kolorów względnych palety do określania kolorów pióra, pędzla i tekstu. Te wartości są identyczne z wartościami kolorów, z wyjątkiem tworzenia stałych pędzli. (Na urządzeniach palety kolor stałej szczotki określony przez wartość koloru względnego palety podlega przybliżeniu koloru zamiast dithering). Aplikacje muszą używać makraPALETTERGB, aby utworzyć wartości kolorów względnych palety.

System nie zezwala aplikacji na zmianę wpisów na palecie domyślnej. Aby używać kolorów innych niż te z palety domyślnej, aplikacja musi utworzyć własną paletę logiczną i wybrać paletę w kontekście urządzenia.