Delen via


Standaardpalet

Het standaardpalet is een matrix met kleurwaarden waarmee standaard de kleuren worden geïdentificeerd die kunnen worden gebruikt met een apparaatcontext. het systeem koppelt het standaardpalet aan een context wanneer een toepassing een context maakt voor een apparaat dat kleurenpaletten ondersteunt. Het standaardpalet zorgt ervoor dat kleuren beschikbaar zijn voor gebruik door een toepassing zonder verdere actie.

Het standaardpalet heeft doorgaans 20 vermeldingen (kleuren), maar het exacte aantal items kan variëren van apparaat tot apparaat. Dit getal is gelijk aan de NUMCOLORS-waarde die wordt geretourneerd door de functie GetDeviceCaps. Een toepassing kan de kleurwaarden voor kleuren in het standaardpalet ophalen door effen pennen te inventariseren, dezelfde techniek die wordt gebruikt om de kleuren te detecteren die beschikbaar zijn op niet-paletteapparaten. De kleuren in het standaardpalet zijn afhankelijk van het apparaat. Beeldschermapparaten gebruiken bijvoorbeeld vaak de 16 standaardkleuren van het VGA-beeldscherm en 4 andere kleuren die zijn gedefinieerd door Windows. Op afdrukapparaten kunnen andere standaardkleuren worden gebruikt.

Wanneer u het standaardpalet gebruikt, gebruiken toepassingen kleurwaarden om pen- en tekstkleuren op te geven. Als de aangevraagde kleur zich niet in het palet bevindt, wordt de kleur in het systeem geschat met behulp van de dichtstbijzijnde kleur in het palet. Als een toepassing een effen kwastkleur aanvraagt die zich niet in het palet bevindt, simuleert het systeem de kleur door de kleur te simuleren met kleuren die zich in het palet bevinden.

Om benaderingen en dithering te voorkomen, kunnen toepassingen ook pen-, penseel- en tekstkleuren opgeven met behulp van kleurenpaletindexen in plaats van kleurwaarden. Een kleurenpaletindex is een geheel getal dat een specifieke paletvermelding identificeert. Toepassingen kunnen kleurenpaletindexen gebruiken in plaats van kleurwaarden, maar moeten de PALETTEINDEX- macro gebruiken om de indexen te maken.

Kleurenpaletindexen zijn alleen nuttig voor apparaten die kleurenpalletten ondersteunen. Om deze apparaatafhankelijkheid te voorkomen, moeten toepassingen die dezelfde code gebruiken om te tekenen op zowel palet- als niet-paletteapparaten, palet-relatieve kleurwaarden gebruiken om pen-, penseel- en tekstkleuren op te geven. Deze waarden zijn identiek aan kleurwaarden, behalve bij het maken van effen borstels. (Op paletapparaten is een effen kwastkleur opgegeven door een palet-relatieve kleurwaarde onderhevig aan kleurbenadering in plaats van dithering.) Toepassingen moeten de PALETTERGB- macro gebruiken om palet-relatieve kleurwaarden te maken.

Het systeem staat niet toe dat een toepassing de vermeldingen in het standaardpalet kan wijzigen. Als u andere kleuren dan die in het standaardpalet wilt gebruiken, moet een toepassing een eigen logisch palet maken en het palet selecteren in de apparaatcontext.