Master.DrawBezier-Methode (Visio)
Erstellt ein Shape, dessen Pfad durch die angegebene Sequenz von Bézier-Kontrollpunkten definiert ist.
Syntax
Ausdruck. DrawBezier
( _xyArray()_
, _degree_
, _Flags_
)
Ausdruck Eine Variable, die ein Master-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
xyArray() | Erforderlich | Double | Ein Array von wechselnden X- und Y-Werten, die die Bézier-Kontrollpunkte für das neue Shape definieren. |
Grad | Erforderlich | Integer | Der Grad der Bézier-Kurve. |
Flags | Erforderlich | Integer | Kennzeichen, die beeinflussen, wie das Shape gezeichnet wird. |
Rückgabewert
Form
Bemerkungen
Die Parameter xyArray() und degree müssen die folgenden Bedingungen erfüllen:
1 <= Grad< = 9
Die Anzahl der Punkte muss k * Grad + 1 sein, wobei k eine positive ganze Zahl ist. Wenn der erste Punkt als p0 bezeichnet wird, wird für jede ganzzahlige m zwischen 1 und kp(m * Grad) als letzter Kontrollpunkt eines Béziersegments sowie als erster Kontrollpunkt des nächsten angenommen.
Das Ergebnis ist eine zusammengesetzte Kurve, die aus k Bézier-Segmenten besteht. Die Eingabepunkte von xyArray() definieren die Kontrollpunkte der Kurve. Wenn Sie eine glatte Kurve wünschen, stellen Sie sicher, dass die Punkte p(n - 1) , pn und p(n + 1) kolinear sind, wenn n = m * Grad mit einer ganzen Zahl m verwendet wird. Die zusammengesetzte Bézier-Kurve wird in der Anwendung als B-Spline mit ganzzahligen Knoten von Multiplizität = Grad dargestellt.
Die Kontrollpunkte sollten sich in internen Zeichnungseinheiten (Zoll) in Bezug auf den Koordinatenbereich des Zeichenblatts, des Masters oder der Gruppe befinden, in dem die Form gezeichnet wird. Das übergebene Array sollte ein SAFEARRAY mit 8-Byte-Gleitkommawerten sein, die als Verweis übergeben werden (VT_R8| VT_ARRAY| VT_BYREF). So übergibt Microsoft Visual Basic Arrays an Automation-Objekte.
Das Flags-Argument ist eine Bitmaske für die Angabe von Optionen zum Zeichnen des neuen Shapes. Der Wert sollte Null (0) oder visSpline1D (8) betragen.
Wenn FlagsvisSpline1D ist und der erste und letzte Punkt in xyArray() nicht übereinstimmen, erzeugt die DrawBezier-Methode eine Form mit einem eindimensionalen (1D)-Verhalten; Andernfalls wird eine Form mit zweidimensionalen (2D)-Verhalten erzeugt.
Wenn die ersten und letzten Punkte in xyArray() übereinstimmen, erzeugt die DrawBezier-Methode ein ausgefülltes Shape.
Beispiel
Mit dem folgenden Beispiel wird gezeigt, wie eine Bézier-Kurve durch fünf beliebige Punkte auf dem aktiven Zeichenblatt gezeichnet wird.
Public Sub DrawBezier_Example()
Dim vsoShape As Visio.Shape
Dim intCounter As Integer
Dim adblXYPoints(1 To (5 * 2)) As Double
For intCounter = 1 To 5
'Set x-coordinates (array elements 1,3,5,7,9) to 1,2,3,4,5
adblXYPoints((intCounter * 2) - 1) = intCounter
'Set y-coordinates (array elements 2,4,6,8,10) to f(intCounter)
adblXYPoints(intCounter * 2) = (intCounter * intCounter) - (7 * intCounter) + 15
Next intCounter
Set vsoShape = ActivePage.DrawBezier(adblXYPoints, 2, visSpline1D)
End Sub
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.