Condividi tramite


Proprietà InkPicture.Renderer

Aggiornamento: novembre 2007

Ottiene o imposta l'oggetto Renderer utilizzato per disegnare l'input penna.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Sintassi

'Dichiarazione
<BrowsableAttribute(False)> _
Public Property Renderer As Renderer
'Utilizzo
Dim instance As InkPicture
Dim value As Renderer

value = instance.Renderer

instance.Renderer = value
[BrowsableAttribute(false)]
public Renderer Renderer { get; set; }
[BrowsableAttribute(false)]
public:
property Renderer^ Renderer {
    Renderer^ get ();
    void set (Renderer^ value);
}
/** @property */
/** @attribute BrowsableAttribute(false) */
public Renderer get_Renderer()
/** @property */
/** @attribute BrowsableAttribute(false) */
public  void set_Renderer(Renderer value)
public function get Renderer () : Renderer
public function set Renderer (value : Renderer)

Valore proprietà

Tipo: Microsoft.Ink.Renderer
Oggetto Renderer utilizzato per disegnare l'input penna.

Esempi

Nell'esempio seguente viene illustrato come utilizzare un oggetto Renderer alternativo per fornire una visualizzazione ingrandita di un oggetto InkCollector, un oggetto InkOverlay o un oggetto InkPicture.

Prima di essere utilizzato, l'oggetto Renderer alternativo viene inizializzato per fornire l'ingrandimento desiderato, mentre l'oggetto Renderer originale viene salvato in modo da poter tornare al comportamento di rendering predefinito.

zoomRenderer = New Renderer()
Dim zoomBy2 As Matrix = New Matrix()
zoomBy2.Scale(2, 2)
zoomRenderer.SetObjectTransform(zoomBy2)
' mInkObject can be InkCollector, InkOverlay, or InkPicture
origRenderer = mInkObject.Renderer
zoomRenderer = new Renderer();
Matrix zoomBy2 = new Matrix();
zoomBy2.Scale(2, 2);
zoomRenderer.SetObjectTransform(zoomBy2);
// mInkObject can be InkCollector, InkOverlay, or InkPicture
origRenderer = mInkObject.Renderer;

In risposta all'evento CheckChanged di un oggetto CheckBox, viene assegnato l'oggetto Renderer appropriato e viene ridisegnata l'area dell'input penna.

If DirectCast(sender, CheckBox).Checked Then
    ' mInkObject can be InkCollector, InkOverlay, or InkPicture
    mInkObject.Renderer = zoomRenderer
Else
    mInkObject.Renderer = origRenderer
End If
' refresh to show the transformed ink. In production code
' you should invalidate only the necessary area that is 
' affected by the transformation but for simplicity here
' we will invalidate the entire form
Me.Refresh()
if (((CheckBox)sender).Checked)
{
    // mInkObject can be InkCollector, InkOverlay, or InkPicture
    mInkObject.Renderer = zoomRenderer;
}
else
{
    mInkObject.Renderer = origRenderer;
}
// refresh to show the transformed ink. In production code
// you should invalidate only the necessary area that is 
// affected by the transformation but for simplicity here
// we will invalidate the entire form
this.Refresh();

Nell'esempio seguente viene mostrato l'utilizzo di un oggetto Renderer per convertire un rettangolo espresso in coordinate dello spazio di input penna in un rettangolo espresso in pixel.

Private Function InkSpaceToPixelRectangle(ByVal inkRectangle As Rectangle) As Rectangle
    ' Get points for corners of rectangle
    Dim leftTop As Point = inkRectangle.Location
    Dim rightBottom As Point = New Point(inkRectangle.Right, inkRectangle.Bottom)

    ' Convert using a Renderer object
    Dim tGraphics As Graphics = CreateGraphics()
    Dim tRenderer As Renderer = New Renderer()
    tRenderer.InkSpaceToPixel(tGraphics, leftTop)
    tRenderer.InkSpaceToPixel(tGraphics, rightBottom)

    ' Clean up
    tGraphics.Dispose()

    ' Return new rectangle
    Return New Rectangle(leftTop, New Size(rightBottom.X - leftTop.X, rightBottom.Y - leftTop.Y))
End Function
private Rectangle InkSpaceToPixelRectangle(Rectangle inkRectangle)
{
    // Get points for corners of rectangle
    Point leftTop = inkRectangle.Location;
    Point rightBottom = new Point(inkRectangle.Right, inkRectangle.Bottom);

    // Convert using a Renderer object
    Graphics tGraphics = CreateGraphics();
    Renderer tRenderer = new Renderer();
    tRenderer.InkSpaceToPixel(tGraphics, ref leftTop);
    tRenderer.InkSpaceToPixel(tGraphics, ref rightBottom);

    // Clean up
    tGraphics.Dispose();

    // Return new rectangle
    return new Rectangle(leftTop, new Size(rightBottom.X - leftTop.X, rightBottom.Y - leftTop.Y));
}

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

InkPicture Classe

Membri InkPicture

Spazio dei nomi Microsoft.Ink

InkPicture

Renderer