IsInsideStroke()
Syntax
Ergebnis = IsInsideStroke(x.d, y.d, Breite.d [, Flags [, KoordinatenSystem]])Beschreibung
Überprüft, ob sich die angegebenen Koordinaten innerhalb einer Fläche befinden, in die durch einen Aufruf von StrokePath() gezeichnet wird.
Parameter
x.d, y.d Geben die Koordinaten des zu testenden Punktes an. Breite.d Gibt die für den Test zu verwendende Linienbreite an. Flags (optional) Mögliche Flags für die Linieneigenschaften, wie bei der StrokePath() Funktion beschrieben. KoordinatenSystem (optional) Gibt das Koordinatensystem für den zu testenden Punkt an. Dies kann einer der folgenden Werte sein: #PB_Coordinate_Device: Das Koordinatensystem der Ausgabe-Einheit #PB_Coordinate_Output: Das Koordinatensystem, wie es mit der Zeichenausgabe-Funktion erstellt wurde #PB_Coordinate_User : Das Koordinatensystem für Punkte im Zeichenpfad (Standard) #PB_Coordinate_Source: Das Koordinatensystem für die Vektorzeichnen-Quelle
Anmerkungen
Siehe den Vektorzeichnen Überblick für eine Einführung in die verschiedenen Koordinatensysteme.
Rückgabewert
Gibt einen Wert ungleich Null zurück, wenn der Punkt innerhalb der Linie liegt, und Null wenn nicht.
Beispiel
; Dieses Beispiel verwendet die IsInsideStroke() Funktion, um die Figur in grüner Farbe ; auszufüllen, während sich die Maus auf ihrem Umriss befindet, und andernfalls in blau ; Procedure Draw() x = GetGadgetAttribute(0, #PB_Canvas_MouseX) y = GetGadgetAttribute(0, #PB_Canvas_MouseY) If StartVectorDrawing(CanvasVectorOutput(0)) VectorSourceColor(RGBA(255, 255, 255, 255)) ; Löschen des vorherigen Inhalts FillVectorOutput() AddPathEllipse(200, 100, 150, 75) ; Vorbereiten des Pfades If IsInsideStroke(x, y, 20, #PB_Path_Default, #PB_Coordinate_Device) ; Überprüfen, ob die Maus sich innerhalb befindet VectorSourceColor(RGBA(0, 255, 0, 255)) Else VectorSourceColor(RGBA(0, 0, 255, 255)) EndIf StrokePath(20) ; Ziehen/zeichnen des Pfades StopVectorDrawing() EndIf EndProcedure If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) CanvasGadget(0, 0, 0, 400, 200) LoadFont(0, "Times New Roman", 20, #PB_Font_Bold) Draw() Repeat Event = WaitWindowEvent() If Event = #PB_Event_Gadget And EventGadget() = 0 And EventType() = #PB_EventType_MouseMove Draw() EndIf Until Event = #PB_Event_CloseWindow EndIf
Siehe auch
IsInsidePath(), StrokePath(), ResetPath()
Unterstützte OS
Alle