Метод IInkRenderer::MeasureStroke (msinkaut.h)
Вычисляет прямоугольник в контексте устройства, который будет содержать росчерк, если бы он был нарисован с помощью объекта InkRenderer с помощью метода DrawStroke .
Синтаксис
HRESULT MeasureStroke(
[in] IInkStrokeDisp *Stroke,
[in, optional] IInkDrawingAttributes *DrawingAttributes,
[out, retval] IInkRectangle **Rectangle
);
Параметры
[in] Stroke
Измеримый штрих.
[in, optional] DrawingAttributes
Необязательный элемент. Атрибуты InkDrawingAttributes, используемые при вычислении прямоугольника, который переопределяет атрибуты рисования в росчерке. Значение по умолчанию — NULL, что означает, что штрих измеряется с помощью собственных атрибутов рисования.
[out, retval] Rectangle
При возврате этого метода содержит указатель на прямоугольник в контексте устройства, который будет содержать штрих, если бы росчерк был нарисован с помощью метода DrawStroke объекта InkRenderer . Для вычисления прямоугольника штрих должен содержать координаты x и y. В противном случае метод возвращает пустой прямоугольник.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Объект InkRectangle не зарегистрирован в системе. |
|
IInkStrokeDisp не указывает на совместимый объект InkDisp , или drawingAttributes является недопустимым входным параметром. |
|
В методе произошло исключение. |
|
Параметр содержал недопустимый указатель. |
|
Недопустимый дескриптор отображения. |
|
Непредвиденный тип параметра или свойства. |
Комментарии
Это верно, только если вы передаете одни и те же аргументы в MeasureStroke и 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 |