共用方式為


Renderer.Draw 方法 (Graphics, Strokes)

在指定的 Graphics (英文) 介面上繪製 Strokes 集合。

命名空間:  Microsoft.Ink
組件:  Microsoft.Ink (在 Microsoft.Ink.dll 中)

語法

'宣告
Public Sub Draw ( _
    g As Graphics, _
    strokes As Strokes _
)
'用途
Dim instance As Renderer
Dim g As Graphics
Dim strokes As Strokes

instance.Draw(g, strokes)
public void Draw(
    Graphics g,
    Strokes strokes
)
public:
void Draw(
    Graphics^ g, 
    Strokes^ strokes
)
public void Draw(
    Graphics g,
    Strokes strokes
)
public function Draw(
    g : Graphics, 
    strokes : Strokes
)

參數

備註

ms569827.alert_note(zh-tw,VS.90).gif注意事項:

盡可能使用接受 Graphics (英文) 物件的適當多載,而不要使用接受 IntPtr (英文) 的多載。

畫筆寬度會根據您使用 SetViewTransform 方法的方式適當調整。具體來說,畫筆寬度會乘以檢視轉換之行列式的平方根 (或據以調整)。

ms569827.alert_note(zh-tw,VS.90).gif注意事項:

如果尚未明確設定畫筆寬度,則預設為 53。您必須將畫筆寬度乘以行列式的平方根,才能得出正確的週框方塊。週框方塊的高度和寬度會依這個數目的一半,朝各方向放大。

例如,試想畫筆寬度為 53,行列式的平方根為 50,而且週框方塊為 (0,0,1000,1000)。依據週框方塊朝各方向調整的畫筆寬度計算方式為 (53*50)/2,右邊和底部則會加一。這樣會產生週框方塊 (-1325,-1325,2326,2326)。

Renderer 物件會強制將檢視區 (Viewport) 和視窗原點設定為 0,0。任何現有的設定都會被儲存及還原,但不會被 Renderer 使用。若要執行捲動,請使用 Renderer 物件的 GetViewTransformGetObjectTransform 方法。

範例

在這個範例中,會在與 InkOverlay 物件本身無關的 Panel (英文) 上,顯示與 InkOverlay 物件相關聯之 Ink 物件的完整 Strokes 集合。這個動作的完成是藉由呼叫 Draw 方法,將另一個 Graphics (英文) 物件 (與 InkOverlay 物件相關聯的不同) 傳遞至 g 參數。

' Access to the Ink.Strokes property returns a copy of the Strokes object.
' This copy must be implicitly (via using statement) or explicitly
' disposed of in order to avoid a memory leak.
Using allStrokes As Strokes = mInkOverlay.Ink.Strokes
    ' get a graphics object for another panel
    Using g As Graphics = Me.panelForDraw.CreateGraphics()
        ' get a Renderer object. We could have used
        ' mInkOverlay.Renderer, this is another way
        Dim R As Renderer = New Renderer()
        ' draw the strokes
        R.Draw(g, allStrokes)
    End Using
End Using
// Access to the Ink.Strokes property returns a copy of the Strokes object.
// This copy must be implicitly (via using statement) or explicitly
// disposed of in order to avoid a memory leak.
using (Strokes allStrokes = mInkOverlay.Ink.Strokes)
{
    // get a graphics object for another panel
    using (Graphics g = this.panelForDraw.CreateGraphics())
    {
        // get a Renderer object. We could have used
        // mInkOverlay.Renderer, this is another way
        Renderer R = new Renderer();
        // draw the strokes
        R.Draw(g, allStrokes);
    }
}

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

Renderer 類別

Renderer 成員

Draw 多載

Microsoft.Ink 命名空間

Renderer.SetViewTransform

DrawingAttributes

Strokes

Stroke