次の方法で共有


Ink.AddStrokesAtRectangle メソッド

指定した四角形にあるこの Ink オブジェクトに挿入する、既知の Strokes コレクションを指定します。

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink (Microsoft.Ink.dll 内)

構文

'宣言
Public Sub AddStrokesAtRectangle ( _
    strokes As Strokes, _
    destinationRectangle As Rectangle _
)
'使用
Dim instance As Ink
Dim strokes As Strokes
Dim destinationRectangle As Rectangle

instance.AddStrokesAtRectangle(strokes, _
    destinationRectangle)
public void AddStrokesAtRectangle(
    Strokes strokes,
    Rectangle destinationRectangle
)
public:
void AddStrokesAtRectangle(
    Strokes^ strokes, 
    Rectangle destinationRectangle
)
public void AddStrokesAtRectangle(
    Strokes strokes,
    Rectangle destinationRectangle
)
public function AddStrokesAtRectangle(
    strokes : Strokes, 
    destinationRectangle : Rectangle
)

パラメータ

  • destinationRectangle
    型 : System.Drawing.Rectangle
    インク空間座標でストロークが追加される四角形。

解説

四角形の座標が {0,0,0,0} の場合は、ランタイム エラーがスローされます。

ソース Strokes コレクションは Ink オブジェクトに追加されます。

ストロークは挿入時に、Strokes コレクションの境界ボックスからこの四角形にスケーリングされます。

このメソッドを使用して、1 つの Ink オブジェクト内にストロークをコピーできます。ソース ストロークは、別の Ink オブジェクトからのものである必要はありません。

この C# の例では AddStrokesAtRectangle メソッドを使用し、適切なスケールと縦横比を維持したまま、インクをメイン InkCollector オブジェクト panelMain から InkCollector オブジェクト panelThumb にコピーします。現在のサムネイル パネルを最新に保持するために、Stroke イベント ハンドラ panelMain_Stroke が panelMain に追加されます。

private void panelMain_Stroke(object sender, Microsoft.Ink.InkCollectorStrokeEventArgs e)
{
    // Create a bounding rectangle for panelThumb in ink space coordinates
    Point thePoint = Point.Empty;
    using (Graphics g = Graphics.FromHwnd(Handle))
    {
        thePoint = new Point(panelThumb.Width, panelThumb.Height);
        panelMain.Renderer.PixelToInkSpace(g, ref thePoint);
    }
    Rectangle theRectangle = new Rectangle(0, 0, thePoint.X, thePoint.Y);   

    // Delete the old strokes in the thumbnail, and add the new strokes.
    panelThumb.Ink.DeleteStrokes();
    // The strokes are automatically scaled to the destination rectangle
    panelThumb.Ink.AddStrokesAtRectangle(panelMain.Ink.Strokes, theRectangle);
    Refresh();
}

この Microsoft Visual Basic.NET の例では AddStrokesAtRectangle メソッドを使用し、適切なスケールと縦横比を維持したまま、インクをメイン InkCollector オブジェクト panelMain から InkCollector オブジェクト panelThumb にコピーします。現在のサムネイル パネルを最新に保持するために、Stroke イベント ハンドラ panelMain_Stroke が panelMain に追加されます。

 Private Sub panelMain_Stroke(ByVal sender As System.Object, _
    ByVal e As Microsoft.Ink.InkCollectorStrokeEventArgs) Handles panelMain.Stroke

    'Create a bounding rectangle for panelThumb in ink space coordinates
    Dim g As Graphics = Graphics.FromHwnd(Handle)
    Dim thePoint As Point = New Point(panelThumb.Width, panelThumb.Height)
    panelMain.Renderer.PixelToInkSpace(g, thePoint)
    'Dispose of the Graphics object
    g.Dispose()
    Dim theRectangle As Rectangle = New Rectangle(0, 0, thePoint.X, thePoint.Y)

    'Delete the old strokes in the thumbnail, and add the new strokes.
    panelThumb.Ink.DeleteStrokes()
    'The strokes are automatically scaled to the destination rectangle
    panelThumb.Ink.AddStrokesAtRectangle(panelMain.Ink.Strokes, theRectangle)
    Refresh()
End Sub

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

Ink クラス

Ink メンバ

Microsoft.Ink 名前空間

Strokes