InkSpaceToPixel Method

InkSpaceToPixel Method

Converts a location in ink space coordinates to be a location in pixel space using a handle for the conversion.

Declaration

[C++]

HRESULT InkSpaceToPixel (
    [in] long hdcDisplay,
    [in,out] long* x,
    [in,out] long* y
);

[Microsoft® Visual Basic® 6.0]

Public Sub InkSpaceToPixel( _
    hdcDisplay As Long, _
    x As Long, _
    y As Long _
)

Parameters

hdcDisplay

[in] The handle of the device context.

x

[in, out] The X-coordinate of the point to convert into a pixel location.

y

[in, out] The Y-coordinate of the point to convert into a pixel location.

Return Value

HRESULT value Description
S_OK Success.
E_POINTER A parameter contained an invalid pointer.
E_INK_EXCEPTION An exception occurred inside the method.
E_INVALIDARG Invalid display handle.
E_FAIL Coordinates overflowed during operation.

Remarks

InkSpaceToPixelFromPoints applies the object transform, applies the view transform of the InkRenderer object, and then converts from inkspace to pixel units (1 ink unit = .01mm).

Example

[Visual Basic 6.0]

This Visual Basic 6.0 example gets the bounds of all of the ink in the InkCollector object in pixel space, returning them in the reference parameters as left, top, right, and bottom.

Private Sub getBoundsFromInk( _
ByRef left As Long, _
ByRef top As Long, _
ByRef right As Long, _
ByRef bottom As Long, _
ByRef theInkCollector As InkCollector, _
ByVal theHDC As Long)
    Dim theBoundingRectangle As New InkRectangle
    Set theBoundingRectangle = theInkCollector.Ink.GetBoundingBox(IBBM_Default)
    left = theBoundingRectangle.left
    top = theBoundingRectangle.top
    right = theBoundingRectangle.right
    bottom = theBoundingRectangle.bottom

    ' Find the edges of the bounding box in pixel space
    theInkCollector.Renderer.InkSpaceToPixel theHDC, left, top
    theInkCollector.Renderer.InkSpaceToPixel theHDC, right, bottom
End Sub

Applies To