Поделиться через


Метод IInkDisp::NearestPoint (msinkaut.h)

Извлекает IInkStrokeDisp внутри объекта InkDisp , ближайшего к известной точке, при необходимости предоставляя индекс ближайшей точки и расстояние до штриха от указанной точки.

Синтаксис

HRESULT NearestPoint(
  [in]                long           X,
  [in]                long           Y,
  [in, out, optional] float          *PointOnStroke,
  [in, out, optional] float          *DistanceFromPacket,
  [out, retval]       IInkStrokeDisp **Stroke
);

Параметры

[in] X

Позиция x- точки в пространстве рукописного ввода.

[in] Y

Указывает позицию y- точки в пространстве рукописного ввода.

[in, out, optional] PointOnStroke

Необязательный элемент. Извлекает точку на линии росчерка, ближайшей к указанной точке в объекте InkDisp . Например, значение 1,5 указывает, что точка падает на полпути между первым и вторым пакетами штриха. Этот параметр может принимать значение NULL. Значение по умолчанию — 0.

[in, out, optional] DistanceFromPacket

Необязательный элемент. Извлекает расстояние между указанной точкой в пространстве рукописного ввода и ближайшим росчерком в объекте InkDisp . Этот параметр может принимать значение NULL. значение по умолчанию — 0.

[out, retval] Stroke

При возврате этим методом содержит IInkStrokeDisp , который содержит точку, ближайшую к указанной точке в объекте InkDisp . Если несколько росчерков содержат точку на одинаковом расстоянии от указанной точки, значение этого результата является произвольным.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Код возврата Описание
S_OK
Успешно.
E_POINTER
Параметр содержит недопустимый указатель.
E_FAIL
Произошла неизвестная ошибка.
E_INK_EXCEPTION
В методе произошло исключение.
E_OUTOFMEMORY
Не удается выделить память.

Комментарии

Параметр выходной точки определяется как число с плавающей запятой, так как точка на линии штриха может упасть между двумя физическими координатными точками. Используйте это значение для разделения росчерка с помощью метода Split или округления значения вверх или вниз, чтобы индексировать пакет в росчерке.

Параметр distanceFromPacket описывает расстояние от точки до конверта штриха. Это расстояние между двумя точками минус половина ширины штриха.

Требования

   
Минимальная версия клиента Windows XP Tablet PC Edition [только классические приложения]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header msinkaut.h
Библиотека InkObj.dll

См. также раздел

IInkDisp

Интерфейс IInkStrokeDisp

Класс InkDisp

Метод NearestPoint [интерфейс IInkStrokeDisp]

Метод Split