Renderer.InkSpaceToPixel-Methode (Graphics, Point%)
Konvertiert eine Position in Freihandbereichkoordinaten in eine Position im Pixelbereich, wobei das Graphics-Objekt für die Konvertierung verwendet wird.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public Sub InkSpaceToPixel ( _
g As Graphics, _
ByRef pt As Point _
)
'Usage
Dim instance As Renderer
Dim g As Graphics
Dim pt As Point
instance.InkSpaceToPixel(g, pt)
public void InkSpaceToPixel(
Graphics g,
ref Point pt
)
public:
void InkSpaceToPixel(
Graphics^ g,
Point% pt
)
public void InkSpaceToPixel(
Graphics g,
/** @ref */Point pt
)
public function InkSpaceToPixel(
g : Graphics,
pt : Point
)
Parameter
- g
Typ: System.Drawing.Graphics
Das Graphics-Objekt, das für die Konvertierung verwendet werden soll. Die Quelle hierfür sind i. d. R. Ereignisargumente oder die System.Windows.Forms.Control.CreateGraphics-Methode.
- pt
Typ: System.Drawing.Point%
Der Punkt, der in eine Pixelposition konvertiert werden soll.
Hinweise
Die InkSpaceToPixel-Methode wendet die Objekttransformation des Renderer-Objekts und die Ansichtstransformation an, und anschließend wird die Konvertierung aus HIMETRIC-Einheiten in Pixel ausgeführt.
Beispiele
In diesem Beispiel werden das umgebende Rechteck eines Ink-Objekts abgerufen und die Mitte des umgebenden Rechtecks bestimmt. Der Mittelpunkt wird anschließend in Pixelkoordinaten konvertiert und vom Graphics-Objekt zum Zeichnen eines kleinen roten Kreises verwendet.
' get the ink bounds (ink space units)
Dim inkBounds As Rectangle = mInkOverlay.Ink.GetBoundingBox()
' create a Point in the center of the ink bounds (ink space units)
Dim centerPt As Point = _
New Point(inkBounds.X + (inkBounds.Width / 2), _
inkBounds.Y + (inkBounds.Height / 2))
Using g As Graphics = mInkOverlay.AttachedControl.CreateGraphics()
' convert to pixel space
mInkOverlay.Renderer.InkSpaceToPixel(g, centerPt)
' draw a small circle
g.DrawEllipse(Pens.Red, centerPt.X - 5, centerPt.Y - 5, 10, 10)
End Using
// get the ink bounds (ink space units)
Rectangle inkBounds = mInkOverlay.Ink.GetBoundingBox();
// create a Point in the center of the ink bounds (ink space units)
Point centerPt =
new Point(inkBounds.X + (inkBounds.Width / 2),
inkBounds.Y + (inkBounds.Height / 2));
using (Graphics g = mInkOverlay.AttachedControl.CreateGraphics())
{
// convert to pixel space
mInkOverlay.Renderer.InkSpaceToPixel(g, ref centerPt);
// draw a small circle
g.DrawEllipse(Pens.Red, centerPt.X - 5, centerPt.Y - 5, 10, 10);
}
Plattformen
Windows Vista
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0