SetPaletteMode(mode)
mode
angegebenen. Dieser Modus wird immer dann verwendet, wenn
die Ausgabe palettenbasiert ist, z.B. ein Palettenmodus-Display
oder ein Palettenpinsel.
Die folgenden Modi werden derzeit unterstützt:
#PALETTEMODE_REMAP:
#PALETTEMODE_PEN
verwenden (siehe unten). Die Art und Weise, wie Grafikdaten bei
einer Palette des Ausgabeziels neu zugeordnet werden, kann durch den
Befehl SetDitherMode() konfiguriert
werden. Auf diese Weise können Sie das Dithering aktivieren
oder deaktivieren und den zu verwendenden Dithering-Algorithmus
angeben. Beachten Sie, dass bei Verwendung von #PALETTEMODE_REMAP
einfarbige Zeichenfunktionen wie Box(), Circle()
oder TextOut() nicht mit dem Zeichnungsstift
über SetDrawPen() gezeichnet werden, sondern
mit der RGB-Farbe, die an diese Befehle übergeben wird.
#PALETTEMODE_PEN:
#PALETTEMODE_PEN
werden alle Palettengrafiken
ohne Pixel-Neuzuordnung auf das Ausgabeziel kopiert. Dies ist
sehr schnell, erfordert jedoch, dass die Palette des zu zeichnenden
Grafikobjekts und die Palette des Ausgabeziels identisch sind,
da das Ergebnis sonst Farbverfälschungen aufweist. Wenn Sie
also #PALETTEMODE_PEN
verwenden, sollten Sie sicherstellen,
dass alle Ihre Grafikobjekte dieselbe Palette verwenden. Wenn
#PALETTEMODE_PEN
aktiv ist, werden alle einfarbigen Zeichenfunktionen
wie Box(), Circle() und TextOut()
nicht in der RGB-Farbe zeichnen, die Sie an diese Befehle übergeben
haben, sondern alle verwenden den Zeichnungsstift, der mit SetDrawPen()
festgelegt wurde.
Gleiches gilt für die Schatten- und Rahmenfarbe: Wenn der Palettenmodus
auf #PALETTEMODE_PEN
gesetzt ist, verwenden alle Grafikfunktionen,
die Schatten und Rahmen unterstützen, nicht die in SetFormStyle(),
SetFontStyle() oder im Standard-Zeichen-Tag
wie ShadowColor
angegebene Farbe. Sondern sie verwenden die Stifte,
die mit Befehlen wie SetShadowPen(),
SetBorderPen() oder Zeichen-Tags wie
ShadowPen
und BorderPen
angegeben wurden.
Außerdem wird das Antialiasing von Text- und Grafikgrundelemente
deaktiviert, wenn #PALETTEMODE_PEN
aktiv ist, da Paletten in
den meisten Fällen nicht genügend Farben für ein zufriedenstellendes
Antialiasing von Kanten haben.
Beachten Sie jedoch, dass RGB-Grafiken auch dann noch neu zugeordnet
werden müssen, wenn #PALETTEMODE_PEN
aktiv ist, da es offensichtlich
unmöglich ist, RGB-Grafiken auf ein Palettenausgabeziel zu zeichnen,
ohne die RGB-Farben den Palettenstiften neu zuzuordnen. Daher
sollte das Zeichnen von 32-Bit-Echtfarbgrafiken auf Palettenausgabeziele
vermieden werden, da dies immer langsam ist, weil für diese
Grafiken eine Neuzuordnung vorgenommen werden muss und es keine
Möglichkeit gibt, dies zu umgehen.
Der Standardzeichnungsmodus ist #PALETTEMODE_REMAP
. Aus Leistungsgründen
wird jedoch empfohlen, #PALETTEMODE_PEN
zu verwenden. Siehe Palettenmodus-Displays für Details.