Shape.DrawBezier メソッド (Visio)

特定の連続するベジエ コントロール ポイントで定義されるパスによって図形を作成します。

構文

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

Shape オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
xyArray() 必須 Double 新しい図形のベジエ コントロール ポイントを定義する xy の値が交互に表された配列です。
必須 Integer ベジエ曲線の角度です。
Flags 必須 Integer 図形の描画方法を制御するフラグです。

戻り値

Shape

注釈

xyArray() および degree パラメーターは次の条件を満たす必要があります。

1 <= degree<= 9

ポイントの数は k * 度 + 1 である必要があります。 k は正の整数です。 最初のポイントが p0 と呼ばれる場合、1 から k までの任意の整数 m の場合、p(m * degree) はベジエ セグメントの最後の制御点と、次の 1 番目の制御点であると見なされます。

結果として作成される図形は、k 個のベジエ セグメントで構成される複合曲線になります。 xyArray() からの入力ポイントによって、曲線のコントロール ポイントが定義されます。 滑らかな曲線が必要な場合は、n = m * 度が整数 m の場合、ポイント p(n - 1)pnp(n + 1) が共線形であることを確認します。 アプリケーションでは、複合ベジエ曲線は、multiplicity = degree の整数 knots を持つ B スプラインとして表されます。

コントロール ポイントは内部図面単位 (インチ) で表し、作成した図形を描画するページ、マスター シェイプ、またはグループの座標空間を基準とします。 渡される配列の種類は、参照渡しで SAFEARRAY 型の 8 バイト浮動小数点値にする必要があります (VT_R8|VT_ARRAY|VT_BYREF)。 Microsoft Visual Basic では、この方法でオートメーション オブジェクトに配列を渡します。

引数 Flags は、新しい図形を描画するときのオプションを指定するビットマスクです。 値はゼロ (0) または visSpline1D (8) にする必要があります。

FlagsvisSpline1D、xyArray() の最初と最後の点が一致しない場合、DrawBezier メソッドは 1 次元 (1D) の動作を持つ図形を生成します。それ以外の場合は、2 次元 (2D) の動作を持つ図形が生成されます。

xyArray() の最初のポイントと最後のポイントが一致する場合は、DrawBezier メソッドによって、塗りつぶされた図形が生成されます。

次の例は、アクティブなページ上で 5 個の任意の点を通るベジエ曲線を描く方法を示します。

 
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

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。