Compartir a través de


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.