Page. DrawBezier-Methode (Visio)Page.DrawBezier method (Visio)

Erstellt ein Shape, dessen Pfad durch die angegebene Sequenz von Bézier-Kontrollpunkten definiert ist.Creates a shape whose path is defined by the supplied sequence of Bezier control points.

SyntaxSyntax

Ausdruck.expression. DrawBezier( _xyArray()_ , _degree_ , _Flags_ )

Ausdruck Eine Variable, die ein Page -Objekt darstellt.expression A variable that represents a Page object.

ParameterParameters

NameName Erforderlich/OptionalRequired/Optional DatentypData type BeschreibungDescription
xyArray ()xyArray() ErforderlichRequired DoubleDouble Ein Array von abwechselnden x -und y -Werten, die die Bézier-Steuerpunkte für die neue Form definieren.An array of alternating x and y values that define the Bezier control points for the new shape.
Graddegree ErforderlichRequired IntegerInteger Der Grad der Bézier-Kurve.The degree of the Bezier curve.
FlagsFlags ErforderlichRequired IntegerInteger Kennzeichen, die beeinflussen, wie das Shape gezeichnet wird.Flags that influence how the shape is drawn.

RückgabewertReturn value

FormShape

BemerkungenRemarks

Die xyArray () -und Degree -Parameter müssen die folgenden Bedingungen erfüllen:The xyArray() and degree parameters must meet the following conditions:

1 < = Degree < = 91 <= degree <= 9

Die Anzahl der Punkte muss k * Degree + 1 sein, wobei k eine positive ganze Zahl ist.The number of points must be k * degree + 1, where k is a positive integer. Wenn der erste Buchstabe P0 heißt, wird für eine beliebige ganze Zahl m zwischen 1 und k angenommen, dass p (m * Degree) der letzte Kontrollpunkte eines Bézier-Segments sowie der erste Kontrollpunkte des nächsten ist.If the first point is called p0 , for any integer m between 1 and k , p(m * degree) is assumed to be the last control point of a Bezier segment, as well as the first control point of the next.

Das Ergebnis ist eine zusammengesetzte Kurve, die aus k Bézier-Segmenten besteht.The result is a composite curve that consists of k Bezier segments. Die Eingabepunkte von xyArray() definieren die Kontrollpunkte der Kurve.The input points from xyArray() define the curve's control points. Wenn Sie eine glatte Kurve wünschen, stellen Sie sicher, dass die Punkte p (n-1) , PN und p (n + 1) Co-linear sind, wenn n = m * Grad mit einer ganzen Zahl _m_ist.If you want a smooth curve, make sure the points p(n - 1) , pn , and p(n + 1) are co-linear whenever n = m * degree with an integer m. Die zusammengesetzte Bézier-Kurve wird in der Anwendung als B-Spline mit ganzzahligen Knoten von Multiplizität = Grad dargestellt.The composite Bezier curve is represented in the application as a B-spline with integer knots of multiplicity = degree.

Die Steuerpunkte sollten sich in internen Zeichnungseinheiten (Zoll) in Bezug auf den Koordinatenbereich der Seite, des Masters oder der Gruppe befinden, in der die Form gezeichnet wird.The control points should be in internal drawing units (inches) with respect to the coordinate space of the page, master, or group where the shape is being drawn. Das übergebene Array sollte ein SafeArray mit 8-Byte-Gleitkommawerten sein, die durch einen Verweis übergeben werden (VT_R8 | VT_ARRAY | VT_BYREF).The passed array should be a SAFEARRAY of 8-byte floating point values passed by reference (VT_R8|VT_ARRAY|VT_BYREF). So übergibt Microsoft Visual Basic Arrays an Automatisierungsobjekte.This is how Microsoft Visual Basic passes arrays to Automation objects.

Das Flags -Argument ist eine Bitmaske, die Optionen zum Zeichnen der neuen Form angibt.The Flags argument is a bitmask that specifies options for drawing the new shape. Der Wert sollte Null (0) oder visSpline1D (8) betragen.Its value should be zero (0) or visSpline1D (8).

Wenn Flags visSpline1D und der erste und der letzte Punkt in xyArray () nicht übereinstimmen, erzeugt die DrawBezier -Methode eine Form mit eindimensionalem (1D)-Verhalten; Andernfalls wird eine Form mit zweidimensionalem (2D) Verhalten erzeugt.If Flags is visSpline1D and the first and last points in xyArray() don't coincide, the DrawBezier method produces a shape with one-dimensional (1D) behavior; otherwise, it produces a shape with two-dimensional (2D) behavior.

Wenn die ersten und letzten Punkte in xyArray () übereinstimmen, erzeugt die DrawBezier -Methode eine ausgefüllte Form.If the first and last points in xyArray() do coincide, the DrawBezier method produces a filled shape.

BeispielExample

Mit dem folgenden Beispiel wird gezeigt, wie eine Bézier-Kurve durch fünf beliebige Punkte auf dem aktiven Zeichenblatt gezeichnet wird.The following example shows how to draw a Bezier curve through five arbitrary points on the active page.

 
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 FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.