InkPicture.Renderer Property
Gets or sets the Renderer object that is used to draw ink.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in microsoft.ink.dll)
Syntax
'Declaration
Public Property Renderer As Renderer
'Usage
Dim instance As InkPicture
Dim value As Renderer
value = instance.Renderer
instance.Renderer = value
public Renderer Renderer { get; set; }
public:
property Renderer^ Renderer {
Renderer^ get ();
void set (Renderer^ value);
}
/** @property */
public Renderer get_Renderer ()
/** @property */
public void set_Renderer (Renderer value)
public function get Renderer () : Renderer
public function set Renderer (value : Renderer)
Not applicable.
Property Value
The Renderer object that is used to draw ink.
Example
This C# example creates an InkPicture control, theInkPicture
, and two Renderer objects: originalRenderer
, for the default view, and zoomedRenderer
, for a zoomed view. The application determines which Renderer object is attached to theInkPicture
in a click event, menuItemZoomed_Click
.
[C#]
using Microsoft.Ink;
using System.Drawing.Drawing2D;
//...
private Renderer zoomedRenderer;
private Renderer originalRenderer;
//...
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
// ...
// Initialize renderers
zoomedRenderer = new Renderer();
Matrix zoomBy2 = new Matrix();
zoomBy2.Scale(2, 2);
zoomedRenderer.SetObjectTransform(zoomBy2);
originalRenderer = theInkPicture.Renderer;
}
// ...
private void menuItemZoomed_Click(object sender, System.EventArgs e)
{
if (theInkPicture.Renderer == originalRenderer)
{
theInkPicture.Renderer = zoomedRenderer;
menuItemZoomed.Checked = true;
}
else
{
theInkPicture.Renderer = originalRenderer;
menuItemZoomed.Checked = false;
}
Refresh();
//...
This Microsoft® Visual Basic® .NET example creates an InkPicture control, theInkPicture
, and two Renderer objects: originalRenderer
, for the default view, and zoomedRenderer
, for a zoomed view. The application determines which Renderer object is attached to theInkPicture
in a click event, menuItemZoomed_Click
.
[Visual Basic]
Imports Microsoft.Ink
Imports System.Drawing.Drawing2D
'...
Private zoomedRenderer As Renderer
Private originalRenderer As Renderer
'...
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
{
// Initialize renderers
zoomedRenderer = New Renderer()
Matrix zoomBy2 = New Matrix()
zoomBy2.Scale(2, 2)
zoomedRenderer.SetObjectTransform(zoomBy2)
originalRenderer = theInkPicture.Renderer
}
'...
Private Sub MenuItemZoomed_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MenuItemInk.Click
{
If theInkPicture.Renderer Is originalRenderer Then
theInkPicture.Renderer = zoomedRenderer
MenuItemZoomed.Checked = True
Else
theInkPicture.Renderer = originalRenderer
MenuItemZoomed.Checked = False
End If
Refresh()
}
This C# example contains a function that uses the Renderer property to convert a rectangle in ink space coordinates to pixel coordinates.
[C#]
using Microsoft.Ink;
//...
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 Renderer
Graphics tempGraphics = CreateGraphics();
theInkPicture.Renderer.InkSpaceToPixel(tempGraphics, ref leftTop);
theInkPicture.Renderer.InkSpaceToPixel(tempGraphics, ref rightBottom);
// Clean up
tempGraphics.Dispose();
// Return new rectangle
return new Rectangle(leftTop,
new Size(rightBottom.X - leftTop.X, rightBottom.Y - leftTop.Y));
}
This Visual Basic .NET example contains a function that uses the Renderer property to convert a rectangle in ink space coordinates to pixel coordinates.
Imports Microsoft.Ink
'...
Private Function InkSpaceToPixelRectangle(ByVal inkRectangle As Rectangle) As Rectangle
' Get points for corners of rectangle
Dim leftTop As Point = inkRectangle.Location
Dim rightBottom As New Point(inkRectangle.Right, inkRectangle.Bottom)
' Convert using Renderer
Dim tempGraphics As Graphics = CreateGraphics()
theInkPicture.Renderer.InkSpaceToPixel(tempGraphics, leftTop)
theInkPicture.Renderer.InkSpaceToPixel(tempGraphics, rightBottom)
' Clean up
tempGraphics.Dispose()
' Return new rectangle
Return New Rectangle(leftTop, _
New Size(rightBottom.X - leftTop.X, rightBottom.Y - leftTop.Y))
End Function
Platforms
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
Version Information
.NET Framework
Supported in: 3.0
See Also
Reference
InkPicture Class
InkPicture Members
Microsoft.Ink Namespace
Renderer