Renderer.InkSpaceToPixel Method
Renderer.InkSpaceToPixel Method |
Converts a location in ink space coordinates to be a location in pixel space by using a Graphics object for the conversion.
Definition
Visual Basic .NET Public Sub InkSpaceToPixel( _
ByVal g As Graphics, _
ByRef pt As Point _
)C# public void InkSpaceToPixel(
Graphics g,
ref Point pt
);Managed C++ public: void InkSpaceToPixel(
Graphics *g,
Point **pt
);
Parameters
g System.Drawing.Graphics. The Graphics object to use for conversion. This generally comes from event arguments or from the System.Windows.Forms.Control.CreateGraphics method. pt System.Drawing.Point. The point to convert into a pixel location.
Remarks
The InkSpaceToPixel method applies the object transform of the Renderer object, applies the view transform, and then converts from HIMETRIC to pixel units.
Examples
[C#]
This C# example takes the Ink from an InkOverlay object, theInkOverlay, and returns the bounding box of its associated Strokes collection, in pixel space.
using System.Drawing.Drawing2D; ... public Rectangle GetInkBoundsInPixels(InkOverlay theInkOverlay) { // Copy the bounding rectangle in ink space dimensions Rectangle theBoundingRectangle = theInkOverlay.Ink.GetBoundingBox(); // Get the top left and bottom right points Point topLeft = theBoundingRectangle.Location; Point bottomRight = topLeft + theBoundingRectangle.Size; Graphics g = CreateGraphics(); // Convert from ink space to pixel space theInkOverlay.Renderer.InkSpaceToPixel(g, ref topLeft); theInkOverlay.Renderer.InkSpaceToPixel(g, ref bottomRight); g.Dispose(); return new Rectangle(topLeft, new Size(bottomRight.X - topLeft.X, bottomRight.Y - topLeft.Y)); }
[VB.NET]
This Microsoft® Visual Basic® .NET example takes the Ink from an InkOverlay object, theInkOverlay, and returns the bounding box of its associated Strokes collection, in pixel space.
Imports System.Drawing.Drawing2D ... Public Function GetInkBoundsInPixels(ByVal theInkOverlay As InkOverlay) As Rectangle 'Copy the bounding rectangle in ink space dimensions Dim theBoundingRectangle As Rectangle = theInkOverlay.Ink.GetBoundingBox() 'Get the top left and bottom right points Dim topLeft As Point = theBoundingRectangle.Location Dim bottomRight As Point = _ New Point(theBoundingRectangle.Right, theBoundingRectangle.Bottom) Dim g As Graphics = CreateGraphics() 'Convert from ink space to pixel space theInkOverlay.Renderer.InkSpaceToPixel(g, topLeft) theInkOverlay.Renderer.InkSpaceToPixel(g, bottomRight) g.Dispose() Return New Rectangle(topLeft, _ New Size(bottomRight.X - topLeft.X, bottomRight.Y - topLeft.Y)) End Function
See Also