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


Метод IInkRenderer::Measure (msinkaut.h)

Вычисляет прямоугольник в контексте устройства, который будет содержать коллекцию штрихов, если штрихи были нарисованы с помощью объекта InkRenderer с помощью метода DrawStroke .

Синтаксис

HRESULT Measure(
  [in]          IInkStrokes   *Strokes,
  [out, retval] IInkRectangle **Rectangle
);

Параметры

[in] Strokes

Коллекция штрихов для измерения.

[out, retval] Rectangle

При возврате этим методом содержит указатель на прямоугольник в контексте устройства, который будет содержать штрихи, если они были нарисованы с помощью метода DrawStroke объекта InkRenderer . Для вычисления прямоугольника штрихи должны содержать координаты X и Y. В противном случае метод возвращает пустой прямоугольник.

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

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

Код возврата Описание
S_OK
Успешно.
E_POINTER
Параметр содержит недопустимый указатель.
E_INVALIDARG
Недопустимый дескриптор отображения.
E_INK_INCOMPATIBLE_OBJECT
Параметр strokes не указывает на допустимый объект.
E_INK_MISMATCHED_INK_OBJECT
Параметр strokes связан с другим объектом InkDisp .
E_INK_EXCEPTION
В методе произошло исключение.
E_UNEXPECTED
Непредвиденный параметр или тип свойства.

Комментарии

Это верно, только если вы передаете одни и те же аргументы в Measure и DrawStroke.

Так как ширина пера влияет на ограничивающий прямоугольник, эта ширина масштабируется соответствующим образом для преобразования представления InkRenderer. Для этого ширина пера умножается на квадратный корень определяющего элемента преобразования представления. Высота и ширина ограничивающего прямоугольника расширяются наполовину в каждом направлении, а правая и нижняя стороны увеличиваются на единицу.

Например, рассмотрим, что ширина пера изначально равна 53, квадратный корень детерминанта преобразования представления — 50, а ограничивающий прямоугольник — (0, 0, 1000, 1000). Корректировка ширины пера для ограничивающего прямоугольника в каждом направлении вычисляется как (53 * 50) / 2, а правая и нижняя стороны увеличиваются на единицу. В результате отображается ограничивающий прямоугольник (-1325, -1325, 2326, 2326).

Требования

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

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

Метод Draw [класс InkRenderer]

IInkRenderer

Интерфейс IInkStrokeDisp

Класс InkRenderer

Метод MeasureStroke