InkPicture.Renderer Property
InkPicture.Renderer Property |
Gets or sets the Renderer object that is used to draw ink.
Definition
Visual Basic .NET Public Property Renderer As Renderer C# public Renderer Renderer { get; set; } Managed C++ public: __property Renderer* get_Renderer();
public: __property void set_Renderer(Renderer*);
Property Value
Microsoft.Ink.Renderer. The Renderer object that is used to draw ink.
This property is read/write. This property has no default value.
Exceptions
ArgumentNullException :
COMException :
ObjectDisposedException :
Examples
[C#]
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.
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(); }
[VB.NET]
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.
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() }
[C#]
This C# example contains a function that uses the Renderer property to convert a rectangle in ink space coordinates to pixel coordinates.
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)); }
[VB.NET]
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
See Also