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
)

参数

备注

备注

请尽可能使用接受 Graphics 对象的合适重载,而不是接受 IntPtr 的重载。

将基于使用 SetViewTransform 方法的方式相应地调整笔的宽度。具体而言,笔宽度将乘以(或调整为)视图变换的行列式的平方根。

备注

如果未显式设置笔宽度,则默认值为 53。只有将笔宽度乘以行列式的平方根才能得到正确的边界框。边界框的高度和宽度在每个方向上扩展该数量的一半。

例如,如果笔宽度为 53,行列式的平方根为 50,边界框为 (0, 0, 1000, 1000)。根据笔宽度,边界框在每个方向上的调整计算方法为 (53 * 50) / 2,右侧和下方增加一个单位。这样,将呈现出边界框 (-1325,-1325,2326,2326)。

Renderer 对象将视区和窗口原点强制到 0,0。将保存和还原任何现有设置,但 Renderer 不使用这些设置。若要执行滚动,请使用 Renderer 对象的 GetViewTransformGetObjectTransform 方法。

示例

在此示例中,与 InkOverlay 对象关联的 Ink 对象中的整个 Strokes 集合将显示在不与 InkOverlay 对象自身关联的一个 Panel 上。这是通过调用 Draw 方法实现的,调用时将不与 InkOverlay 对象关联的 Graphics 对象传递给 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