다음을 통해 공유


IInkRenderer::MeasureStroke 메서드(msinkaut.h)

DrawStroke 메서드를 사용하여 InkRenderer 개체로 그린 경우 스트로크를 포함하는 디바이스 컨텍스트의 사각형을 계산합니다.

구문

HRESULT MeasureStroke(
  [in]           IInkStrokeDisp        *Stroke,
  [in, optional] IInkDrawingAttributes *DrawingAttributes,
  [out, retval]  IInkRectangle         **Rectangle
);

매개 변수

[in] Stroke

측정할 스트로크입니다.

[in, optional] DrawingAttributes

선택 사항입니다. 직사각형을 계산할 때 사용할 InkDrawingAttributes 로, 스트로크의 그리기 특성을 재정의합니다. 기본값은 NULL입니다. 즉, 스트로크는 자체 그리기 특성을 사용하여 측정됩니다.

[out, retval] Rectangle

이 메서드가 반환될 때 InkRenderer 개체의 DrawStroke 메서드를 사용하여 스트로크를 그린 경우 스트로크를 포함하는 디바이스 컨텍스트의 사각형에 대한 포인터를 포함합니다. 스트로크는 사각형을 계산하기 위해 x 및 y 좌표를 포함해야 합니다. 그렇지 않으면 메서드는 빈 사각형을 반환합니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
성공.
REGDB_E_CLASSNOTREG
InkRectangle 개체가 시스템에 등록되지 않았습니다.
E_INK_INCOMPATIBLE_OBJECT

IInkStrokeDisp 는 호환되는 InkDisp 개체를 가리키지 않거나 drawingAttributes 가 잘못된 입력 매개 변수입니다.

E_INK_EXCEPTION
메서드 내에서 예외가 발생했습니다.
E_POINTER
매개 변수에 잘못된 포인터가 포함되어 있습니다.
E_INVALIDARG
잘못된 표시 핸들입니다.
E_UNEXPECTED
예기치 않은 매개 변수 또는 속성 형식입니다.

설명

이는 MeasureStrokeDrawStroke 모두에 동일한 인수를 전달하는 경우에만 정확합니다.

경계 상자는 펜 너비의 영향을 받으므로 이 너비는 InkRenderer의 뷰 변환에 맞게 적절하게 조정됩니다. 이렇게 하려면 펜 너비에 뷰 변환 결정자의 제곱근을 곱합니다. 경계 상자의 높이와 너비는 각 방향에서 이 양의 절반으로 확장되고 오른쪽과 아래쪽 측면은 1씩 증가합니다.

예를 들어 펜 너비가 원래 53이고 뷰 변환 결정자의 제곱근이 50이고 경계 상자가 (0, 0, 1000, 1000)인 것을 고려합니다. 각 방향의 경계 상자에 대한 펜 너비 조정은 (53 * 50) / 2로 계산되고 오른쪽과 아래쪽 측면은 1씩 증가합니다. 그러면 렌더링된 경계 상자(-1325, -1325, 2326, 2326)가 생성됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP 태블릿 PC 버전 [데스크톱 앱만 해당]
지원되는 최소 서버 지원되는 버전 없음
대상 플랫폼 Windows
헤더 msinkaut.h
라이브러리 InkObj.dll

추가 정보

Draw 메서드 [InkRenderer 클래스]

DrawStroke 메서드

IInkRenderer

IInkStrokeDisp 인터페이스

InkRenderer 클래스

Measure 메서드