Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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. |
| degree | 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 p0 genannt wird, wird für jede ganze Zahl m zwischen 1 und k p (m * Grad) als letzter Kontrollpunkt eines Bézier-Segments 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 ist. Die zusammengesetzte Bézier-Kurve wird in der Anwendung als B-Spline mit ganzzahligen Knoten von Multiplizität = Grad dargestellt.
Die Kontrollpunkte sollten in internen Zeichnungseinheiten (Zoll) bezogen auf den Koordinatenbereich des Zeichenblatts, des Masters oder der Gruppe liegen, auf dem das Shape gezeichnet wird. Das übergebene Array sollte ein SAFEARRAY von 8-Byte-Gleitkommawerten sein, die per Verweis übergeben werden (VT_R8|VT_ARRAY|VT_BYREF). So übergibt Microsoft Visual Basic Arrays an Automatisierungsobjekte.
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 der letzte Punkt in xyArray() nicht übereinstimmen, erzeugt die Methode DrawBezier eine Form mit eindimensionalem (1D) Verhalten; Andernfalls wird eine Form mit zweidimensionalem Verhalten (2D) 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.