Language

Stroke.GetGeometry メソッド

定義

現在のGeometryのStrokeを取得します。

オーバーロード

名前 説明
GetGeometry()

現在のGeometryのStrokeを取得します。

GetGeometry(DrawingAttributes)

指定したGeometryを使用して、現在のStrokeのDrawingAttributesを取得します。

GetGeometry()

現在のGeometryのStrokeを取得します。

public:
 System::Windows::Media::Geometry ^ GetGeometry();
public System.Windows.Media.Geometry GetGeometry();
member this.GetGeometry : unit -> System.Windows.Media.Geometry
Public Function GetGeometry () As Geometry

返品

Geometryを表すStroke。

注釈

GetGeometryメソッドを使用して、PathGeometryの形状をカスタマイズするStrokeを取得します。 Geometryを複数回呼び出さないようにGetGeometryをキャッシュすることを検討してください。これはパフォーマンスに影響を与える可能性があります。

適用対象

GetGeometry(DrawingAttributes)

指定したGeometryを使用して、現在のStrokeのDrawingAttributesを取得します。

public:
 System::Windows::Media::Geometry ^ GetGeometry(System::Windows::Ink::DrawingAttributes ^ drawingAttributes);
public System.Windows.Media.Geometry GetGeometry(System.Windows.Ink.DrawingAttributes drawingAttributes);
member this.GetGeometry : System.Windows.Ink.DrawingAttributes -> System.Windows.Media.Geometry
Public Function GetGeometry (drawingAttributes As DrawingAttributes) As Geometry

パラメーター

drawingAttributes
DrawingAttributes

DrawingAttributesのGeometryを決定するStroke。

返品

Geometryを表すStroke。

例

次の例では、StylusPointの各Strokeに円を描画する方法を示します。 FitToCurve プロパティが true に設定されている場合、GetBezierStylusPointsを使用してスタイラス ポイントが取得されます。 それ以外の場合は、 StylusPoints プロパティが使用されます。

protected override void DrawCore(DrawingContext context, DrawingAttributes overrides)
{
    // Draw the stroke. Calling base.DrawCore accomplishes the same thing.
    Geometry geometry = GetGeometry(overrides);
    context.DrawGeometry(new SolidColorBrush(overrides.Color), null, geometry);

    StylusPointCollection points;

    // Get the stylus points used to draw the stroke.  The points used depends on
    // the value of FitToCurve.
    if (this.DrawingAttributes.FitToCurve)
    {
        points = this.GetBezierStylusPoints();
    }
    else
    {
        points = this.StylusPoints;
    }

    // Draw a circle at each stylus point.
    foreach (StylusPoint p in points)
    {
        context.DrawEllipse(null, new Pen(Brushes.Black, 1), (Point)p, 5, 5);
    }
}
Protected Overrides Sub DrawCore(ByVal context As DrawingContext, _
        ByVal overridedAttributes As DrawingAttributes)

    ' Draw the stroke. Calling base.DrawCore accomplishes the same thing.
    Dim geometry As Geometry = GetGeometry(overridedAttributes)
    context.DrawGeometry(New SolidColorBrush(overridedAttributes.Color), Nothing, geometry)

    Dim points As StylusPointCollection

    ' Get the stylus points used to draw the stroke.  The points used depends on
    ' the value of FitToCurve.
    If Me.DrawingAttributes.FitToCurve Then
        points = Me.GetBezierStylusPoints()
    Else
        points = Me.StylusPoints
    End If

    ' Draw a circle at each stylus point.
    Dim p As StylusPoint
    For Each p In points
        context.DrawEllipse(Nothing, New Pen(Brushes.Black, 1), CType(p, Point), 5, 5)
    Next p

End Sub

注釈

GetGeometryメソッドは、WidthのHeight、FitToCurve、StylusTip、StylusTipTransform、およびdrawingAttributesプロパティを使用して、Geometryを決定します。 Geometryを複数回呼び出さないようにGetGeometryをキャッシュすることを検討してください。これはパフォーマンスに影響を与える可能性があります。

適用対象