DrawingMode()

Syntax

DrawingMode(Modus)
Beschreibung
Ändert den Zeichenmodus für die Text- und Grafikausgabe.

Parameter

Modus Das Verhalten der weiteren Zeichen-Operationen. Dies kann eine Kombination der folgenden Flags sein:

#PB_2DDrawing_Default
Dies ist der Standard-Zeichenmodus, wenn das Zeichnen beginnt. Text wird mit festem Hintergrund dargestellt und Grafikflächen werden ausgefüllt. Wenn die aktuelle Ausgabe einen Alpha-Kanal hat, verändern die Zeichen-Operationen nur die Farb-Bestandteile und lassen den Alpha-Kanal unverändert.

#PB_2DDrawing_Transparent
Wenn dieser Flag gesetzt ist, dann wird der Hintergrund beim DrawText() Befehl transparent sein.

#PB_2DDrawing_XOr
Aktiviert den XOR-Modus. Alle Grafiken werden nach dem XOR-Modus mit dem aktuellen Hintergrund verschmolzen. Dieser Modus kann nicht mit den nachfolgenden Alpha-Kanal Modi kombiniert werden.

Hinweis: Dieser Modus arbeitet nicht mit PrinterOutput().

#PB_2DDrawing_Outlined
Wenn dieser Flag gesetzt ist, dann werden Flächen nur mit ihren Umrissen gezeichnet und nicht ausgefüllt. Dies trifft auf Befehle wie Circle, Box, etc. zu.

Hinweis: Die folgenden Modi arbeiten nur mit ImageOutput(), CanvasOutput() und SpriteOutput(). Sie werden bei allen anderen Ausgabekanälen ignoriert:

#PB_2DDrawing_AlphaBlend
Die Zeichenoperationen werden "alpha-blended" (gemischt) mit dem Hintergrund. Der RGBA() Befehl kann verwendet werden, um Farben mit Alpha-Transparenz bei Befehlen wie FrontColor(), Box(), DrawText() etc. festzulegen.

#PB_2DDrawing_AlphaClip
Die Zeichenoperationen werden "alpha-blended" (gemischt) mit dem Hintergrund wie beim #PB_2DDrawing_AlphaBlend Modus - mit dem Zusatz, dass der Alpha-Kanal der Zeichenausgabe als eine Maske fungiert. Dies bedeutet, dass vorher transparente Bereiche der Ausgabe auch nach dem Vermischen transparent bleiben. Wenn die Zeichenausgabe keinen Alpha-Kanal hat, dann agiert dieser Modus einfach wie der #PB_2DDrawing_AlphaBlend Modus.
#PB_2DDrawing_AlphaChannel
Die Zeichenoperationen werden nur den Alpha-Kanal der Zeichenausgabe verändern. Alle Farbinformationen werden ignoriert. Zum Beispiel wird das Zeichnen eines Kreises mit einem Farbwert von RGBA(0, 0, 0, 0) ein Loch in die Zeichenausgabe "schneiden", indem der Kreis-Bereich vollständig transparent gemacht wird. Wenn die Zeichenausgabe keinen Alpha-Kanal hat, wie beim CanvasGadget(), dann wird in diesem Modus kein Zeichnen einen Effekt haben.
#PB_2DDrawing_AllChannels
Die Zeichenoperationen werden die Farb-Kanäle und den Alpha-Kanal der Zeichenausgabe verändern. Der Inhalt der Kanäle wird ohne jegliches Vermischen ("Blending") durch die Zeichenoperation ersetzt. Das Zeichnen in diesem Modus hat den gleichen Effekt, wie zuerst mittels dem #PB_2DDrawing_Default Modus zu zeichnen, und dann nochmals die gleiche Zeichenoperation mittels dem #PB_2DDrawing_AlphaChannel Modus. Wenn die Zeichenausgabe keinen Alpha-Kanal besitzt, wie beim CanvasGadget(), dann entspricht dieser Modus dem #PB_2DDrawing_Default Modus.

#PB_2DDrawing_Gradient
Dieser Modus ermöglicht das Zeichnen mit einem Farbverlauf (englisch "Gradient") anstelle einer festen Farbe. Die Farbverlaufs-Form kann mit Befehlen wie LinearGradient(), CircularGradient() etc. definiert werden, und die im Farbverlauf verwendeten Farben können mittels GradientColor() festgelegt werden. Die an die einzelnen Zeichen-Befehle übergebenen Farb-Parameter werden in diesem Modus ignoriert. Dieser Modus kann mit den obigen Alpha-Kanal Modi kombiniert werden, um Farbverläufe mit halb-transparenten Farben zu erhalten.

#PB_2DDrawing_CustomFilter
In diesem Modus kann das Zeichnen der Pixel durch eine benutzerdefinierte ("custom") Prozedur mittels CustomFilterCallback() definiert werden. Dies ermöglicht die Implementierung von benutzerdefinierten Zeicheneffekten, während trotzdem noch die Standard-Funktionen für das aktuelle Zeichnen verwendet werden.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Anmerkungen

Um mehrere Modi auf einmal zu nutzen, müssen Sie den '|' (OR) Operator verwenden. Das folgende ist ein Beispiel für umrissene Flächen, die im XOR-Modus verschmolzen werden:
  DrawingMode(#PB_2DDrawing_Outlined | #PB_2DDrawing_XOr)

Siehe auch

FrontColor(), BackColor()

Unterstützte OS

Alle

<- DrawingFont() - 2DDrawing Inhaltsverzeichnis - Ellipse() ->