Método Master.DrawBezier (Visio)
Crea una forma cuyo trazado se define mediante la secuencia de puntos de control Bezier proporcionada.
Sintaxis
expresión. DrawBezier
( _xyArray()_
, _degree_
, _Flags_
)
Expresión Variable que representa un objeto Master .
Parameters
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
xyArray() | Obligatorio | Double | Matriz de valores x e y alternos que definen los puntos de control Bezier para la nueva forma. |
Grado | Obligatorio | Integer | Grado de la curva Bezier. |
Flags | Obligatorio | Integer | Marcas que influyen en cómo se dibuja la forma. |
Valor devuelto
Forma
Comentarios
Los parámetros xyArray() y degree deben cumplir las condiciones siguientes:
1 <= grado< = 9
El número de puntos debe ser k * grado + 1, donde k es un entero positivo. Si el primer punto se denomina p0 , para cualquier entero m entre 1 y k , se supone que p(m * degree) es el último punto de control de un segmento Bézier, así como el primer punto de control del siguiente.
El resultado es una curva compuesta que consta de k segmentos Bezier. Los puntos de entrada de xyArray() definen los puntos de control de la curva. Si desea una curva suave, asegúrese de que los puntos p(n - 1),pn y p(n + 1) sean co-lineales siempre que n = m * grados con un entero m. La curva Bezier compuesta se representa en la aplicación como una spline B con knots enteros de multiplicity = degree.
Los puntos de control se deben expresar en unidades de dibujo internas (pulgadas) con respecto al espacio de coordenadas de la página, el patrón o el grupo donde se va a crear la nueva forma. La matriz que se pasa debe ser del tipo SAFEARRAY y contener valores de punto flotante de 8 bytes pasados mediante referencia (VT_R8|VT_ARRAY|VT_BYREF). Este es el modo en el que Microsoft Visual Basic pasa las matrices a los objetos de automatización.
El argumento Flags es una máscara de bits que especifica las opciones de dibujo para la nueva forma. Su valor debe ser cero (0) o visSpline1D (8).
Si Flags es visSpline1D y los primeros y últimos puntos de xyArray() no coinciden, el método DrawBezier genera una forma con un comportamiento unidimensional (1D); De lo contrario, genera una forma con un comportamiento bidimensional (2D).
Si los puntos inicial y final de xyArray() coinciden, el método DrawBezier dará como resultado una forma rellena.
Ejemplo:
En el ejemplo siguiente, se muestra cómo dibujar una curva Bezier a partir de cinco puntos cualesquiera en la página activa.
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
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.